DataFrame的常用操作
import pandas as pd df = pd.DataFrame([[1,2,3,4],[11,22,33,44]],columns=['a','b','c','d']) # 增加index df.index = ['AA','BB'] # 去掉index df.index = [0,1] # 去掉index,此方法不修改原来的df df.reset_index(drop=True) # 去掉index,此方法不修改原来的df df.reset_index(drop=True)
#
df.loc[0]
df.loc['AA']
df.head( 5 ) #查看前5行
df.tail( 3 ) #查看后3行
df.values #查看数值
df.shape #查看行数、列数
df.fillna(0) #将空值填充0
df.replace( 1, -1) #将1替换成-1
df.isnull() #查找df中出现的空值
df.notnull() #非空值
df.dropna() #删除空值
df.unique() #查看唯一值
df.reset_index() #修改、删除,原有索引
df.columns #查看df的列名
df.index #查看索引
df.sort_values() #排序
pd.merge(df1,df2) #合并
pd.concat([df1,df2]) #合并,与merge的区别,自查
pd.pivot_table( df ) #用df做数据透视表(类似于Excel的数透)
s=pd.Series(['a','b','c','d'])
s=pd.Series(['a','b','c','d'],)
s.index #查看索引
s.values #查看数值
s.isnull() #查看为空的,返回布尔型
s.notnull()
s.sort_index() #按索引排序
s.sort_values() #按数值排序
# 生成日期序列
dates = pd.date_range('20210101', periods=5)
np.random.randn(5,4)
# 通过Series生成DataFrame df2=pd.DataFrame({'A':1,'B':np.array([3]*4),'C':['AA','BB','CC','DD']})
# DataFram增加一行 s=pd.Series([2,4,6,8],index=['a','b','c','d']) df.append(s,ignore_index=True) # 或者写在一起 df.append([{'a':2,'b':4,'c':6,'d':8}],ignore_index=True) # 注意,如果不用ignore_index,增加的index会有问题
# DataFram增加一列 s=pd.Series([5,55]) df['e']=s # 如果有index列,则创建series的时候也需要
# 绘图 from matplotlib import pyplot as plt df.plot() plt.show()