突发!员工跳楼!只拿低保工资!央企设计院集体罢工!

突发!北京某院集体罢工!

淄博向东,惠泊向西:在人民与人民币之间,惠泊停车选择了人民币

【少儿禁】马建《亮出你的舌苔或空空荡荡》

10部适合女性看的唯美情色电影

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

Python数据分析常见库介绍之Pandas

胡萝卜酱 DataGo数据狗 2022-07-01

Pandas是Python的一个数据分析包,它名称来源于面板数据(Panel Data)和Python数据分析(Data Analysis),可以说它是Python下最强大的数据分析与探索工具。Pandas纳入大量库和标准数据模型,提供高效的操作数据集所需的工具,使得在Python处理数据变得非常简单和快速。和Scipy一样,Pandas也是构建在Numpy之上。因此,Pandas在安装好Numpy后就可以安装。注意:默认的Pandas还不能读写Excel文件,需要安装xlrd(读)库和xlwt(写)库才能支持Excel的读写。

数据结构



Pandas基本的数据结构是Series和DataFrame。Series就是序列,类似于一维数组,而DataFrame则类似于二维数组,它的每一列都是一个Series。

Series



为了定位Series中的元素,Pandas提供了index对象,每个Series都会带有一个对应的index,用来标记不同的元素,index不一定是数字,也可能是字母等。

import pandas as pd #通常用pd作为pandas的别名。
import numpy as np

s =pd.Series([1,2,3], index=['a''b''c']) #创建一个序列s
s.describe()#数据基本统计量

print(s[0])
print(s['a'])

#输出结果都为1


Dataframe



DataFrame是表格型数据结构,包含一组有序的列,每列可以是不同的类型。DataFrame有行索引和列索引,可以看成由Series组成的字典。

dates=pd.date_range('20180624',periods=100)

df=pd.DataFrame(np.random.randn(100,4),index=dates,columns=['A','B','C','D'])#生成100行4列位置

print(df)#输出100行4列的表格

#查看 DataFrame 的数据类型
df.dtypes

#预览 DataFrame 的前 5 行数据
df.head() # 默认为显示 5 行,可根据需要在括号中填入希望预览的行数

#查看 DataFrame 的后 3 行数据
df.tail(3)

#查看 DataFrame 的统计数据
df.describe()

#对 DataFrame 通过标签查询(单列)
df['A']
df.A # 等价于 df2['age']

#对 DataFrame 通过标签查询(多列)
df[['A','B']]

DataFrame也可以通过特定的方式创建,同Spark SQL中的DataFrame一样,其概念来自于R语言,因此,对DataFrame的操作类似于SQL语句。

Series和DataFrame都可以执行一些数学计算操作,比如sum(),min()等。


读取数据



我们从csv或者Excel文件中读取到了数据,并将他们存入了dataframe中。我们只需要调用read_csv函数或者read_excel函数并将文件的路径作为函数参数即可。header关键字告诉Pandas这些数据是否有列名。如果没有列名,你可以将其置为None。Pandas非常智能,所以你可以省略这一关键字。

#读取文件,注意文件的存储路径不能带有中文,否则读取可能出错。

pd.read_excel('data.xls'#读取Excel文件,创建DataFrame。
pd.read_csv('data.csv', encoding = 'utf-8'#读取文本格式的数据,一般用encoding指定编码。


缺失值处理



Pandas用numpy.nan表示缺失值,不参与计算。 

判断何处缺失:

pd.isnull(df)   #判断位置元素是否为缺失值
df.isnull()

去掉缺失行:

df.dropna(how='any')

填充缺失行:

df.fillna(value='1')#用1填充所有缺失的数据


Pandas的功能十分强大,要想详细介绍它的工具,写一本书都能难以描述完。鉴于在之后的文章推送中会频繁使用Pandas,因此,这里就不进行详细的介绍,如果你有什么疑惑,建议参考《利用Python进行数据分析》一书。

除了进行数据处理之外,Pandas也可以进行数据可视化,比如:

折线图:

df= df.cumsum()
df.plot

但其实,在Python里面,有更适合进行绘图的库,那就是Matplotlib,在下一次的推送中,我们将进行较为详细的介绍。









文章有问题?点此查看未经处理的缓存