You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python Pandas统计结果添加至现有DataFrame的新列?

解决方案

你可以通过**映射(map)或者合并(merge)**的方式将国家占比添加到原DataFrame的新列中,这里推荐用更简洁的map方法:

完整代码示例

import pandas as pd

# 读取CSV文件
df = pd.read_csv('filename.csv')

# 计算每个国家的占比,生成带列名的Series
country_share = 100 * df['Country'].value_counts(normalize=True).rename('Country_Share')

# 将占比映射到原DataFrame的新列
df['Country_Share'] = df['Country'].map(country_share)

# 查看结果
print(df.head())

步骤说明

  1. 计算占比:value_counts(normalize=True)返回每个国家的占比(小数形式),乘以100转为百分比,rename给结果指定列名,方便后续映射。
  2. 映射添加列:df['Country'].map(country_share)会遍历原DataFrame的每一行,将Country列的国家名称匹配到country_share中对应的占比,自动填充到新列Country_Share里。

替代方案(合并法)

如果你更习惯用合并操作,也可以这样写:

# 计算占比并转为带国家列的DataFrame
share_df = 100 * df['Country'].value_counts(normalize=True).reset_index(name='Country_Share')
share_df = share_df.rename(columns={'index': 'Country'})

# 合并到原DataFrame
df = df.merge(share_df, on='Country', how='left')

内容的提问来源于stack exchange,提问作者Dappergemini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 15:53:10