使用Python Pandas用非NaN的值填充NaN值

我有一个数据框,其中有2列,两列中都有一些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]}


互换的青春
浏览 381回答 2
2回答

白猪掌柜的

使用,bfill并ffill与axis参数为1:df.ffill(1).bfill(1)输出:     A    B0  1.0  1.01  NaN  NaN2  2.0  3.03  4.0  4.04  5.0  5.05  3.0  3.0

慕桂英546537

这是一种使用的方法 df.fillna演示:import pandas as pdimport numpy as npdf = { '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    B0  1.0  1.01  NaN  NaN2  2.0  3.03  4.0  4.04  5.0  5.05  3.0  3.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python