近期做数据处理做的比较多,对用到的Pandas模块里面的方法做下总结,以便自己以后可以更容易的去查看自己所学:
import pandas as pd
df=pd.read_csv('data.csv')
1)删掉数据中的异常值
df.drop(df[df.price>100].index,inplace=True)
删掉某列:删掉列名为price的整列数据,axis为0代表行,为1代表列,使用inplace可以更快的处理数据,建议drop数据的时候加上此参数,将其设置为True
df.drop(labels='price',axis=1,inplace=True)
2) 获取A列的值(做了去重操作)
df.A.value_counts()
3) 按照A列分组后并对其余列的数据做求和操作
df.groupby(['A']).sum()
4) 查看数据的缺失值情况
df.isnull().sum()
5) 在数据处理中要删掉某些列,这些列单独的一个列的值都是一样的,最后采用了如下的方法去实现此功能:
比如A列都为2,B列都为3,这样需要把这种无效列删掉
columns=df.columns
for i in columns:
c=pd.value_counts(df[i])
if c.shape[0]==1:
df.drop(labels=i,axis=1,inplace=True)
6)获取目标列与其余列的相关系数
df.corr()['price']
7) 批量填充缺失值
df=df.fillna(0) #using 0 to fillna
8) 替换某些列的值
df=df.replace({"sex":{'F':0,'M':1},
"job:{'NA':0,'D':1}
})
9)通过正则表达式获取某列的值
train.cc=train.Name.map(lambda x: re.compile(r',(.*)\.').findall(x))
获取Name列中符合, 和 .之间的值拿出来单独创建一列