我有一个看起来像这样的数据集:
ID Date A B
1 1-Nov 10 5
1 2-Nov 7
2 1-Nov 11 8
2 2-Nov 10
在A列中有一些空白值,因此在输出A的任何地方,输出都将被这些值填充,如果不存在A,则其将被B填充,所以输出将类似于:
ID Date A B Output
1 1-Nov 10 5 10
1 2-Nov 7 7
2 1-Nov 11 8 11
2 2-Nov 10 10
有人可以帮我吗?
答案 0 :(得分:2)
使用numpy.where
:
import numpy as np
df["Output"] = np.where(df["A"].isnull(), df["B"], df["A"])
答案 1 :(得分:1)
您可以使用比较来完成此操作:
df["Output"] = df.apply(lambda x: x['A'] if x['A']>0 else x['B'], axis=1)
答案 2 :(得分:1)
您实际上可以使用fillna()
。更具体地说,我将使用:
df[New_Var] = df[A].fillna(df[B])
在这种情况下,如果A列具有值,则新列将使用A列中的值。如果A列缺少值,则将使用B列的值。哦,如果您的数据框有空白并且没有丢失,那么将需要执行另一步骤以将各个列中的空白替换为丢失。