根据另一列中的类(1,2,3),将一列中的NaN值替换为所需值,可以使用 pandas 库中的 fillna() 方法来实现。fillna() 方法可以根据指定的值或方法来替换 DataFrame 或 Series 中的缺失值。
具体步骤如下:
import pandas as pd
data = {'类别': [1, 2, 3, 1, 2, 3],
'数值': [1, NaN, 3, NaN, 5, NaN]}
df = pd.DataFrame(data)
df['数值'] = df['数值'].fillna(df['类别'].map({1: 10, 2: 20, 3: 30}))
上述代码中,使用 map() 方法将类别列的值映射为相应的替换值,然后使用 fillna() 方法将 NaN 值替换为映射后的值。
print(df)
输出结果为:
类别 数值
0 1 1.0
1 2 20.0
2 3 3.0
3 1 10.0
4 2 5.0
5 3 30.0
这样就根据另一列中的类别值,将数值列中的 NaN 值替换为所需值。在实际应用中,可以根据具体需求选择不同的替换方式,例如使用均值、中位数等统计值来替换 NaN 值。
领取专属 10元无门槛券
手把手带您无忧上云