视频来源:
https://www.bilibili.com/video/BV1xt411v7z9?p=56
一、缺失值处理
import pandas as pd
1、判断是否存在缺失值
data=pd.read_csv('./1.csv')
pd.isnull(data).any() # 返回True说明存在缺失值
pd.notnull(data).all() # 返回False说明存在缺失值
2、缺失值是nan
data.dropna(inplace=True) # 删除
data['r'].fillna(data['r'].mean(),inplace=True) #填补
3、缺失值不是nan
data_new=data.replace(to_replace='?',value=np.nan)
data_new.dropna(inplace=True)
二、one-hot
# 变成one-hot变量
sr=pd.Series([1,2,3,4,5,9,0],index=['x','y','c','v','b','n','m'])
# 分组
pd.qcut(sr,3)
# bins=[0,3,6,9]
# pd.cut(sr,bins)
# 转换
pd.get_dummies(sr,prefix='这是前缀')
三、合并
# 按方向连接
data1=pd.concat([data1,data2],axis=0)
# 按索引连接
data2=pd.merge(left,right,how='inner',on=['key1','key2'])
四、交叉表
# 交叉表
data=pd.crosstab(values1,values2)
data.div(data.sum(axis=1),axis=0)
五、分组与聚合
# 对color列分组,price1进行聚合
df.groupby(by='color')['price1'].max()