我有A列和B列,其中A列很少有数据,而B列已完全填满。我想将B列复制到A列,并始终保留A列在B列之上的所有值。
我的数据帧的长度约为150万,因此df.iterrows()是一种解决方案,但是这将非常耗时。是否有任何优化的熊猫功能或技巧可以尽可能有效地做到这一点?
答案 0 :(得分:2)
我将使用.loc完成此操作
df.loc[df['A'].isnull(), 'A'] = df['B']
内容如下:位于列“ A”为空并将列“ A”设置为等于列“ B”的地方。
答案 1 :(得分:1)
您可以尝试类似
df["A"][df["A"].isna()] = df["B"][df["A"].isna()]
编辑:评论者指出,大熊猫中已经存在一种解决此问题的方法,请改用它。