import pandas as pd
import numpy as np
arr=np.arange(1,21).reshape(5,4)
df=pd.DataFrame(arr,columns=list('ABCD'))
df.ix[3,'C']=np.nan
df.ix[[0,1],'D']=np.nan
print(df)
# 删除nan的行 df.dropna()
print(df.dropna())
# 删除nan的列
print(df.dropna(axis=1))
# 填充所有nan的数据
print(df.fillna(0.0))
# 使用map进行指定列nan填充数据
print(df.fillna({'C':0.0,'D':-1}))
#DataFrame处理分组统计数据
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': np.random.randint(8, size=8),
'D': np.random.randint(8, size=8)})
# 语法 : df.groupby(统计的列).sum()
# 按A列分组统计foo和bar的数量
# 先按A列分组统计,在按B列分组统计数量
print(df.groupby(by=['A','B']).sum())