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

如何绘制两列数据高频组合的频次分布图?

两列组合频次统计及TOP10可视化实现

以下是基于你提供的数据集,实现两列组合频次统计并绘制TOP10分布图的完整代码方案:

1. 环境依赖

确保你已安装pandas和matplotlib库,若未安装可通过以下命令安装:

pip install pandas matplotlib

2. 完整代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 构造你提供的数据集
data = {
    'acq_cc': ['CN', 'IN', 'CN', 'CN', 'CN', 'IN', 'CN', 'CN', 'CN', 'ZA'],
    'tar_cc': ['GB', 'ZA', 'NO', 'AR', 'VG', 'JP', 'NL', 'PK', 'PK', 'SG']
}
df = pd.DataFrame(data)

# 生成"acq_cc - tar_cc"格式的组合列
df['cc_combination'] = df['acq_cc'] + ' - ' + df['tar_cc']

# 统计各组合频次,提取TOP10并整理格式
top10_combinations = df['cc_combination'].value_counts().head(10).reset_index()
top10_combinations.columns = ['组合', '出现次数']

# 绘制柱状分布图
plt.figure(figsize=(10, 6))
plt.bar(top10_combinations['组合'], top10_combinations['出现次数'], color='#2ca02c')
plt.xlabel('国家/地区组合')
plt.ylabel('出现次数')
plt.title('TOP10高频国家/地区组合频次分布')
plt.xticks(rotation=45, ha='right')  # 旋转X轴标签,避免重叠
plt.tight_layout()  # 自动调整图表布局
plt.show()

3. 代码说明

  • 构造数据集:将你给出的两列数据转换成Pandas DataFrame,方便后续处理
  • 生成组合列:通过字符串拼接,把acq_cc和tar_cc合并为指定格式的组合(如CN - PK)
  • 统计TOP10:用value_counts()快速统计每个组合的出现次数,通过head(10)提取高频TOP10,重置索引并重命名列,让数据结构更清晰
  • 可视化:用Matplotlib绘制柱状图,调整X轴标签旋转角度和布局,确保图表可读性

运行代码后,你会得到一个清晰的TOP10组合频次柱状图,X轴为组合名称,Y轴为对应出现次数,完美解决你之前因缺失无关字段报错的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:01:12