如何使用熊猫替换相邻列的值

时间:2020-05-01 15:00:01

标签: python pandas dataframe

我有数据框df1

外部加入后df在下面

df1具有4列['A','B','C','D']

ID,A,B,C,D
1,Nan,Nan,c,d
1,a,b,c,d
  • 我需要用df ['C']替换df ['A']中的Nan
  • 我需要用df ['D']替换df ['B']中的Nan

预期在下面

ID,A,B,C,D
1,c,d,c,d
1,a,b,c,d

在第一行df ['A']中用df ['C']替换,如果df ['A']则只能检索df ['A']

在第一行df ['B']中将其替换为df ['D'],如果df ['B']则只能检索df ['D']

1 个答案:

答案 0 :(得分:1)

您需要在第二列中填充该列,一种方法是fillna指定value参数:

df.A.fillna(value=df.C, inplace=True)
df.B.fillna(value=df.D, inplace=True)

如果由于某种原因您有很多列,并希望继续使用第二列之后的值填充NaN,则在第一列n-2上使用for循环

columns = ['A', 'B', 'C', 'D']

for i in range(len(columns)-2):
    df[columns[i]].fillna(df[columns[i+2]], inplace=True)