900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > pandas 学习(四)—— 数据处理(清洗) 缺失值的处理

pandas 学习(四)—— 数据处理(清洗) 缺失值的处理

时间:2024-01-15 21:03:20

相关推荐

pandas 学习(四)—— 数据处理(清洗) 缺失值的处理

创建 DataFrame:

df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list('ABCD'))

0. 为 data frame 添加新的属性列

>> df['total'] = df['A'] + df['B'] + df['C'] + df['D']# 等价于 df['total'] = df.A + df.B + df.C + df.D

1. 数据类型

df.values⇒ 返回的是 numpy 下的多维数组

df.column_name.values ⇒ 返回的也是 numpy 下的数组类型df.dtypes:返回的是各个属性列的类型

df.select_dtypes([np.object])df.select_dypes([bool])

2. 简单数据统计

统计某一属性可能的取值:df.column_name.unique()统计出现的次数:df.column_name.value_counts()

column_name 对应的是该 DataFrame 中某列的列名;也即 pandas 下的 DataFrame 对象直接支持 点+列名的方式进行索引;

3. 缺失值的处理

所有缺失值字段填充为 0:df.fillna(0),一定要十分注意的一点是,df.fillna() 操作默认(inplace=False)不是 inplace,也即不是对原始 data frame 直接操作修改的,而是创建一个副本,对副本进行修改;

df.fillna(0, inplace=True)df = df.fillna(0)舍弃:

舍弃那些全行为 NaN 的行,以及全列为 NaN 的行:

df.dropna(axis=[0, 1], how=’all’)删除某些行和列:

df.drop([], axis=1, inplace=True) ⇒ axis = 1,删除列;df.drop([], axis=0, inplace=True) ⇒ axis = 0,删除行;

均值填充

age_mean = data.Age.mean()# age_mean = data['Age'].mean()data.Age[data['Age'].isnull()] = age_mean # data['Age'] == data.Age 二者是等效的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。