开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情
数据清洗
查看DataFrame是否有缺失值
使用DataFrame的isnull()和notnull()方法进行判断
这个两个函数的返回值都是True和False,可以根据需求使用
我没找到有缺失值的例子,就大致说一下
返回值效果如下:
填补缺失值
可以直接删除或者替换成你需要的值
删除缺失值
使用dropna()方法,可以直接删除缺失值
填值
可以使用fillna()方法,一般是DataFrame.fillna(0),即空值部分使用0填充。
重复值处理
使用duplicated()方法判断是否有重复值
使用drop_duplicates()方法删除重复值
例子:
data = [[75, 56, 80], [60, 45, 50], [60, 45, 50]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print(f"判断是否存在重复值:\n{df.duplicated()}")
print(f"删除重复值:\n{df.drop_duplicates()}")
结果:
数据排序
df.sort_values(by,axis=0,ascending=True,inplace=False,kind=quicksort,
na_position=last ,ignore_index=False)
by:要排序的名称列表
axis:轴,0表示行,1表示列,默认行排序
ascending:升序或降序排序,布尔值,指定多个排序可以使用布尔值列表,降序
inplace:布尔值,默认值为False,如果值为True,则就地排序
kind:指定排序算法,值为quicksort(快速排序)、mergesort(混合排序)
或heapsort(堆排),默认值为quicksort
na_position:空值(NaN)的位置,值为first空值在数据开头,last空值在最后,默认值为last
ignore_index:布尔值,是否忽略索引,值为True标记索引(从0开始按顺序的整数值),
值为False则忽略索引
举例:
data = [[75, 56, 80], [56, 45, 50], [60, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print(f"根据语文成绩排名:\n{df.sort_values(by = '语文' , ascending=False)}")
结果: