Pandas介绍
Pandas 是python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
pandas的两大主要数据结构 Series和DateFrame,其中Series 是带标签的一维数组,可存储整数、浮点数、字符串、Python 对象等类型的数据。轴标签统称为索引,它由两部分组成: 一组数据,以及与数据对应的索引。类似于 NumPy 的一维 array。而DataFrame 是一个表格型的数据结构。它提供有序的列和不同类型的列值。
Series结构
结构 pd.Series(data=None, index=None, dtype=None)
import pandas as pd
list = [1,2,3,4,'hello',23]
a = pd.Series(list,index=["A","B","C","D","E","F"])
#如果没有index,series也会默认生成
print(a)
dic = {'a':1,'b':2,'c':hello}
dic= pd.Series(dic)
print(dic)
#字典也可以生成series
#Series可以生成空值,同时能自动对齐
Series索引
#Series索引操作与narray类似
print (dic['b']) #使用index索引
print(dic[1]) #取第0行
print(dic[0:2]) #取第1到第2行
Series操作
print(a>=1) #使用布尔进行索引,返回布尔类型
print(a[a>1]) #根据布尔对数组过滤,返回符合条件
print(a.head(3)) #打印前3行 a.tail打印倒数3行
print(a.unique()) #去重操作 返回一维数组
print(dic.notnull())#不为空返回True,为空返回False
print(dic[dic.notnull()])#可用来
#Series可进行相加,乘系数(具有广播特征),Nan空值可按float处理
dataframe结构
data={'week':['Monday','Tuesday','Wednesday'],'day':[10,11,12],'wether':['sunny','rainy','cloudy']}
df=pd.DataFrame(data)
print(df)
print(df['week'])#使用columns的值对列进行索引
dataframe索引
print(df[0:2]) #切片索引
print(df[df['day']>10])#布尔索引
print(df.loc[2]) #loc是用index和columns当中的值索引,取索引为2的行
print(df.loc[:,'day']) #取0-1行 day为列
print(df.iloc[2]) #iloc从零开始用下标进行索引
print(df.iloc[:,1])
iloc和loc区别: iloc的列参数只能是整数;loc的列参数不能是整数。 总结一下:当列参数是整数的时候就用iloc;当列参数不是整数的时候就用loc.需要注意的是这里的整数可以是一个区间,取多列,比如[0,2],默认是左边闭环,右边开环。
其他操作
df['year']=['2001','2002','2003']#增加列
df.loc[3]=['Thursday',13,'sunny',2004]#增加行,3为索引号
del df['week']#删除行
df.set_index(['year'],inplace=True)#设置某一行为index
df.reset_index(inplace=True)#恢复原始index
df.loc[3]=[np.nan,14,'rainy'] #缺失值用np.numpy表示
df.dropna(inplace=True)#丢弃含有缺失值的行
df.fillna('0',inplace=True) #填充缺失值
数据合并及保存
df.to_csv('D:\\pandas.csv)#保存
df.to_csv('D:\\pandas.csv)#读取