繁体   English   中英

如何将数据框列中的值替换为另一个数据框列。 就像图片一样

[英]How could I replace the values from a dataframe column into another dataframe columns. Just like the image

我想用纽约代替未知,芝加哥代替未知。 我的意思是我想用另一列的值替换与字符串 'unknown' 匹配的所有值,反之亦然。 有什么帮助吗?

在此处输入图片说明

fillna是您需要的功能。 首先,将“未知”值替换为 nan,然后将所有 nan 替换为其他列值。

import pandas as pd
from numpy import nan

df = (
    pd.DataFrame(
        {
            'CITY_MULTIPLE_CHOICE': ['new york', 'chicago', 'unknown', 'Los Angeles'],
            'CITY_OPEN': ['unknown', 'unknown', 'Chicago', 'Chicago'],
        }
    ).replace('unknown', nan)
    .assign(
        CITY_MULTIPLE_CHOICE=lambda x: x.CITY_MULTIPLE_CHOICE.fillna(value=x.CITY_OPEN),
        CITY_OPEN=lambda x: x.CITY_OPEN.fillna(value=x.CITY_MULTIPLE_CHOICE)
    )
)
print(df)

  CITY_MULTIPLE_CHOICE CITY_OPEN
0             new york   unknown
1              chicago   unknown
2              unknown   Chicago
3          Los Angeles   Chicago

以前的代码将打印:

  CITY_MULTIPLE_CHOICE CITY_OPEN
0             new york  new york
1              chicago   chicago
2              Chicago   Chicago
3          Los Angeles   Chicago

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM