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()