【问题标题】:How could I replace the values from a dataframe column into another dataframe columns. Just like the image如何将数据框列中的值替换为另一个数据框列。就像图片一样
【发布时间】:2020-09-12 19:08:53
【问题描述】:

我想将 unknown 替换为 new york,chicago 替换为 unknown。我的意思是我想用另一列的值替换与字符串“未知”匹配的所有值,反之亦然。有什么帮助吗?

enter image description here

【问题讨论】:

    标签: python string dataframe replace data-cleaning


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 2019-03-23
      相关资源
      最近更新 更多