当我们得到的DataFrame数据中存在着不需要的、重复的或者错误的数据时,我们可以使用Pandas中的删除方法对其进行清洗,以提高数据的准确性和可用性。本文将介绍Pandas中DataFrame数据删除的详细攻略。
删除行
- 删除单行数据
使用.drop()方法可以删除单行的数据,该方法在原数据上进行操作,需要注意的是,该方法默认是以行为单位进行删除,如果要删除列数据,需要指定axis参数为1。
示例代码:
import pandas as pd
data = pd.read_csv('data.csv')
print('删除前:')
print(data)
data = data.drop(0, axis=0)
print('删除后:')
print(data)
执行结果:
删除前:
name age gender
0 Jack 20 male
1 Alice 25 female
2 Benjamin 30 male
3 Charlie 35 male
删除后:
name age gender
1 Alice 25 female
2 Benjamin 30 male
3 Charlie 35 male
可以看到,该示例中我们从数据中删除了第一行(index为0)的数据。
- 删除多行数据
使用.drop()方法可以删除多行数据,该方法在原数据上进行操作,需要注意的是,传入的参数需要为列表形式。
示例代码:
import pandas as pd
data = pd.read_csv('data.csv')
print('删除前:')
print(data)
data = data.drop([1, 2], axis=0)
print('删除后:')
print(data)
执行结果:
删除前:
name age gender
0 Jack 20 male
1 Alice 25 female
2 Benjamin 30 male
3 Charlie 35 male
删除后:
name age gender
0 Jack 20 male
3 Charlie 35 male
可以看到,该示例中我们从数据中删除了第二行和第三行(index为1和2)的数据。
删除列
- 删除单列数据
使用.drop()方法可以删除单列的数据,需要指定axis参数为1。
示例代码:
import pandas as pd
data = pd.read_csv('data.csv')
print('删除前:')
print(data)
data = data.drop('age', axis=1)
print('删除后:')
print(data)
执行结果:
删除前:
name age gender
0 Jack 20 male
1 Alice 25 female
2 Benjamin 30 male
3 Charlie 35 male
删除后:
name gender
0 Jack male
1 Alice female
2 Benjamin male
3 Charlie male
可以看到,该示例中我们从数据中删除了‘age’这一列的数据。
- 删除多列数据
使用.drop()方法可以删除多列数据,需要指定axis参数为1。
示例代码:
import pandas as pd
data = pd.read_csv('data.csv')
print('删除前:')
print(data)
data = data.drop(['age', 'gender'], axis=1)
print('删除后:')
print(data)
执行结果:
删除前:
name age gender
0 Jack 20 male
1 Alice 25 female
2 Benjamin 30 male
3 Charlie 35 male
删除后:
name
0 Jack
1 Alice
2 Benjamin
3 Charlie
可以看到,该示例中我们从数据中删除了‘age’和‘gender’这两列的数据。
除了以上介绍的方法外,还可以使用布尔索引进行删除,或利用条件语句进行删除等操作。总而言之,在数据清洗中,使用Pandas中的删除方法可以对数据进行有效的清理,以保证数据的准确性和可用性。