pandas 中的 drop 方法是很明智的数据清理的方法,它的好处在于:它不改变原有的 df 中的数据,而是返回另一个新的 DataFrame 来存放删除后的数据。


一、drop 的用法

import pandas as pd
import numpy as np

a = list(range(1, 11))
a_reshape = np.array(a).reshape(2, 5).T
b = pd.DataFrame(a_reshape)
print(b)

1. df.drop([row_num], axis=0):删除 DataFrame 某一行(如果不指定axis,那么默认axis=0)

c = b.drop(0, axis=0)
print(c)

2. df.drop([row_num], axis=1):删除 DataFrame 某一列

d = b.drop(0, axis=1)
print(d)

        (参考:pandas DataFrame行或列的删除方法的实现示例) 


二、python 中数据清理的常见方法

1. 删除无效项

        (1)df[df.isnull()] 和 df[df.notnull()]:df.isnull() 和 df.notnull() 返回的是一个 true 或 false 的 Series对象,所以这种方式可以筛选出我们需要的特定数据。

        (2)df.dropna():将所有含有 nan 项的 row 删除(默认:axis=0) 。

        (3)df.dropna(axis=1, thresh=3):将在列方向上有三个为 nan 的列删除。

        (4)df.dropna(how='ALL'):将全部项都是 nan 的 row 删除。

2. 填充空缺项

        (1)df.fillna(0)

        (2)df.fillna({1:0, 2:0.5}):对第一列 nan 值赋0,第二列赋值 0.5;

        (3)df.fillna(method='ffill'):在列方向上用前一个值赋值给 nan。

        (参考:python进行数据清理之pandas中的drop用法


Tips:

1. 注意:drop() 方法不改变原有的 df 数据!

b.drop(0, axis=1)
print(b)

 

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐