记录使用pandas的一些操作,防止遗忘
1.读取数据
df=pd.DataFrame("file.csv",sep=",",encoding="utf-8",dtype="str",nrows=100)
sep::分隔符
encoding:编码方式
dtype:数据类型
nrows:读取多少行
2.数据去重
df=df.drop_duplicates(subset=["DATA_MONTH","USER_ID"],keep='last')
subset:去重的根据列
keep:保留数据,保留哪一个数据
3.数据类型转换
se = pd.Series(df_shop[feature_name])
df_shop[i]=pd.to_numeric(se, errors='coerce')
errors:错误处理方式
4.填补缺失值
#平均值填补
df=df.fillna(df.mean())
#相邻值填补
df=df.fillna(method="pad")
df=df.fillna(method="bfill")
5.删除列
df=df.drop(feature_name,axis=1)
6.分组操作
#根据feature_name_1分组后,对feature_name_2的值计数
#另外还有计数count() 求平均mean() 求和sum()
x=df.groupby(feature_name_1)[feature_name_2].value_counts()
7.apply搭配lambda
#根据某个字典里和df某一类为df创建新列
df[name] = df[j].apply(lambda x: df_dict[x])
8.求某一列不同值与不同值的个数
x=df[feature].unique()
y=df[feature].value_counts()
9.多表竖向合并
df=pd.concat([df1,df2],axis=0)
#如果需要循环
df=pd.DataFrame()
for i in n:
df=pd.concat([df,df1],axis=0)
10.查看每列是否有空值
df.isnull().any()