📅  最后修改于: 2023-12-03 15:10:33.921000             🧑  作者: Mango
在 Pandas 中的数据集中可能包含 NaN 值,NaN 值表示缺失值。我们可以使用 Pandas 中的方法来替换 NaN 值。
我们可以使用 isna()
方法来检测数据集中的 NaN 值:
import pandas as pd
data = pd.read_csv('data.csv')
print(data.isna())
输出:
A B C
0 False False False
1 False False True
2 True True False
3 False True True
4 False False True
5 True False False
我们可以使用 fillna()
方法来填充 NaN 值。例如,我们可以用某个常数填充所有的 NaN 值:
data = pd.read_csv('data.csv')
# 用 0 填充所有的 NaN 值
data = data.fillna(0)
print(data)
输出:
A B C
0 1.0 2.0 3.0
1 4.0 5.0 0.0
2 0.0 0.0 6.0
3 7.0 0.0 0.0
4 8.0 9.0 0.0
5 0.0 7.0 8.0
我们也可以用某列的平均值来填充这一列的 NaN 值:
data = pd.read_csv('data.csv')
mean_B = data['B'].mean()
# 用列 B 的平均值填充列 B 的 NaN 值
data['B'] = data['B'].fillna(mean_B)
print(data)
输出:
A B C
0 1.0 2.000000 3.0
1 4.0 5.000000 NaN
2 NaN 4.666667 6.0
3 7.0 4.666667 NaN
4 8.0 9.000000 NaN
5 NaN 7.000000 8.0
我们可以使用 dropna()
方法来删除数据集中的 NaN 值。例如,我们可以删除所有含有 NaN 值的行:
data = pd.read_csv('data.csv')
# 删除所有含有 NaN 值的行
data = data.dropna()
print(data)
输出:
A B C
0 1.0 2.0 3.0
我们也可以删除所有含有 NaN 值的列:
data = pd.read_csv('data.csv')
# 删除所有含有 NaN 值的列
data = data.dropna(axis=1)
print(data)
输出:
A
0 1.0
1 4.0
2 NaN
3 7.0
4 8.0
5 NaN