熊猫-将一列复制到另一列而不会有效覆盖

时间:2018-08-27 16:20:39

标签: python pandas

我有A列和B列,其中A列很少有数据,而B列已完全填满。我想将B列复制到A列,并始终保留A列在B列之上的所有值。

我的数据帧的长度约为150万,因此df.iterrows()是一种解决方案,但是这将非常耗时。是否有任何优化的熊猫功能或技巧可以尽可能有效地做到这一点?

2 个答案:

答案 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()]

编辑:评论者指出,大熊猫中已经存在一种解决此问题的方法,请改用它。