如果说Numpy是列表的话,Pandas就是元素为列表的字典,下面介绍Pandas常用方法:
import pandas as pd
import numpy as np
s = pd.Series([1,3,6,np.nan,9]) #由一组数据和数据索引组成的数据
print(s)
dates = pd.date_range('20200704',periods=6)
print(dates)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
print(df)
df1 = pd.DataFrame(np.arange(12).reshape((3,4)))
print(df1)
df2 = pd.DataFrame({'A':1.,'B':pd.Timestamp('20200704'),'C':pd.Series(1,index=list(range(4)),\
dtype='float32'),'D':np.array([3]*4,dtype='int32'),'E':pd.Categorical(['test',\
'train','test','train']),'F':'foo'})
print(df2)
print(df2.dtypes) #计算每列数据类型
print(df2.index) #取行索引
print(df2.columns) #取列标签
print(df2.values) #取值
print(df2.describe()) #求最大,最小,方差,平均数等
print(df2.T) #转置
print(df2.sort_index(axis=1,ascending=False)) #列,降序
print(df2.sort_index(axis=0,ascending=True)) #行,升序
print(df2.sort_values(by='E')) #对某列排序
print(df.loc['20200704']) #通过标签: loc选择数据
print(df.loc['20200704',['a','b']])
print(df.iloc[3:5,1:3]) #通过位置: iloc选择数据
print(df.iloc[[1,3],1:3]) #单独选择某行数据
print(df[df.a>1]) #通过Boolean indexing选择数据
df['e'] = pd.Series([1,2,3,4,5,6],index=dates) #增加e列数据
print(df)
df.iloc[1,2] = np.nan #修改数据为nan
df.iloc[2,3] = np.nan
print(df.dropna(axis=0,how='any')) #若某行数据有nan,删除该行所有数据,how='all',若某行所有数据为nan,删除
print(df.fillna(value=0)) #填上nan的数据为0
print(np.any(df.isnull()) == True) #若包含nan的数据返回True