python数据处理pandas

近期做数据处理做的比较多,对用到的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列中符合, 和 .之间的值拿出来单独创建一列

猜你喜欢

转载自blog.csdn.net/qq_27575895/article/details/80902203