[英]Filling NaN values with values that are not NaN using Python Pandas
我有一个数据框,其中有两列,两列中都有一些NaN值。
df = { 'A' : [1,Nan, 2, Nan, Nan, 3],
'B' : [Nan, Nan, 3, 4, 5 ,Nan]}
我想只用B列中的NaN值不填充A列中的NaN值,反之亦然。 结果应为:
df = { 'A': [1,Nan, 2, 4, 5, 3],
'B' : [1, Nan, 3, 4, 5 ,3]}
谢谢
使用, bfill
和ffill
axis
参数等于1的参数:
df.ffill(1).bfill(1)
输出:
A B
0 1.0 1.0
1 NaN NaN
2 2.0 3.0
3 4.0 4.0
4 5.0 5.0
5 3.0 3.0
这是使用df.fillna
一种方法
演示:
import pandas as pd
import numpy as np
df = { 'A' : [1,np.nan, 2, np.nan, np.nan, 3],
'B' : [np.nan, np.nan, 3, 4, 5 ,np.nan]}
df = pd.DataFrame(df)
df["A"] = df["A"].fillna(df["B"])
df["B"] = df["B"].fillna(df["A"])
print(df)
输出:
A B
0 1.0 1.0
1 NaN NaN
2 2.0 3.0
3 4.0 4.0
4 5.0 5.0
5 3.0 3.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.