熊猫有条件地复制细胞价值

时间:2017-03-24 14:50:57

标签: python pandas

使用Pandas DataFrame时,我试图仅在收件人单元格包含特定值时才将数据从一个单元格复制到另一个单元格。转移应来自:

   Col1    Col2
0     4       X
1     2       5
2     1       X
3     7       8
4    12      20
5     3       X

结果应该是

   Col1    Col2
0     4       4
1     2       5
2     1       1
3     7       8
4    12      20
5     3       3

我缺少优雅或简单的解决方案吗?

3 个答案:

答案 0 :(得分:2)

df.Col2 = df.Col1.where(df.Col2 == 'X', df.Col2)

答案 1 :(得分:1)

{
"error": {
"code": "BadRequest",
"message": "Resource not found for the segment 'messages?$filter=From'.",
"innerError": {
"request-id": "d2e9b359-d40d-4c0a-a0a5-b4e3cf4b5ecd",
"date": "2017-03-24T14:35:28"
}
}
}

答案 2 :(得分:0)

使用pandas.DataFrame.ffill

>>> df.replace('X', np.nan, inplace=True)
>>> df.ffill(axis=1)
  Col1 Col2
0    4    4
1    2    5
2    1    1
3    7    8
4   12   20
5    3    3