Pandas - 基于另一列(城市名称)创建一个新列(分支名称)

Posted

技术标签:

【中文标题】Pandas - 基于另一列(城市名称)创建一个新列(分支名称)【英文标题】:Pandas - Create a new column (Branch name) based on another column (City name) 【发布时间】:2020-12-13 20:14:27 【问题描述】:

我有以下 Python Pandas 数据框(8 行):

城市名 纽约 长滩 詹姆斯敦 芝加哥 福雷斯特公园 伯温 拉斯维加斯 迈阿密

我想根据城市名称添加一个新列(分支名称),如下所示:

城市名称 分行名称 纽约,纽约 纽约长滩 纽约詹姆斯敦 芝加哥芝加哥 芝加哥福雷斯特公园 伯温芝加哥 拉斯维加斯拉斯维加斯 迈阿密迈阿密

我该怎么做?

【问题讨论】:

【参考方案1】:

您可以使用.map()。字典中没有的城市名称将被保留。

df["Branch Name"] = df["City Name"].map("Long Beach":"New York",
                                         "Jamestown":"New York",
                                         "Forrest Park":"Chicago",
                                         "Berwyn":"Chicago",, na_action='ignore')
df["Branch Name"] = df["Branch Name"].fillna(df["City Name"])

【讨论】:

na_action 指的是什么? NaN 不会通过字典

以上是关于Pandas - 基于另一列(城市名称)创建一个新列(分支名称)的主要内容,如果未能解决你的问题,请参考以下文章