python - 根据其他列中的分类值创建新的 Pandas 列(python)

标签 python pandas dataframe calculated-columns

我有一个包含国家和流量列的数据框:

Country    |   Traffic
  US            8687
  Italy         902834
  Germany       2343
  Brazil        4254
  France        23453

我想向该数据框中添加名为“Region”的第三列。它看起来像这样:

 Country    |   Traffic   | Region
  US            8687         US
  Italy         902834       EU
  Germany       2343         EU
  Brazil        4254         LA
  France        23453        EU

如果我只有两个区域,则以下代码有效。我正在寻找更多的 if/elsemaplambda 语句:

df['Region'] = np.where(df['Country'] == 'US', 'US', 'EU')

谢谢。

最佳答案

一个简单的方法是这样的:

dict ={'US':'US','Italy':'EU','Germany':'EU','Brazil':'LA','France':'EU'}

df['Region']=df['Country'].apply(lambda x : dict[x])

关于python - 根据其他列中的分类值创建新的 Pandas 列(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42123847/

相关文章:

python - 使用Python字典值返回键作为结果

pandas:标准化组内的值,每组一个引用值(groupby?拆分-应用-组合?)

python - 类型错误 : unhashable type: 'slice' pandas DataFrame column

python - 为什么我的生成器阻止 Flask 发送 SSE 响应?

python - 为什么这种循环导入在 Python 2 中会失败,但在 Python 3 中却不会?

python - 为 Pandas 系列的 float 分配日期

python - 带有 pandas 的 Dataframes 将索引设置为 date_range ,但是当设置它时所有值都变为 NaN

python - 将包含汉字的 Pandas 数据框保存到文件

python - 如何在 Pandas 中将列组转换为行?

Python Pandas 计算特定值的出现次数