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

如何用Pandas的melt函数将格鲁吉亚旅游数据多列表格转两列(保留Country列)

问题:将格鲁吉亚旅游数据从宽格式转长格式

我们已完成格鲁吉亚各地区旅游游客数据的获取与预处理,预处理后的宽格式数据如下:

Tbilisi  Adjara A/R     Imereti  ...  Kvemo Kartli  Shida Kartli  Country
0   314.835582  106.598779  239.673489  ...     67.557908     80.719441  Georgia
3   261.135399   89.256953  201.047910  ...     65.957077     62.978426  Georgia
7   250.610817  104.218447  217.913793  ...     69.989150     68.448837  Georgia
11  263.794270  102.331560  197.538537  ...     61.636733     71.306660  Georgia
15  272.579135  123.327306  190.075834  ...     68.220004     64.016689  Georgia

[5 rows x 10 columns]

需求:将上述宽格式数据转换为包含Regions(地区)、Visitors(游客量)列,同时保留Country列的长格式结构,使用Pandas的melt函数实现。


解决方法

直接使用pd.melt()函数,通过参数指定保留列和转换后的列名,代码如下:

import pandas as pd

# 假设data是预处理完成的DataFrame
melted_data = pd.melt(
    data,
    id_vars=["Country"],  # 指定转换时保留的列
    var_name="Regions",   # 设置地区列的名称
    value_name="Visitors" # 设置游客量列的名称
)

print(melted_data.head())

参数说明

  • id_vars:指定转换过程中保持结构不变的列,这里保留Country列
  • var_name:将原数据中作为列名的地区名称,映射为新列Regions
  • value_name:将原数据中各地区对应的游客数值,映射为新列Visitors

转换后的数据示例

Country    Regions     Visitors
0  Georgia    Tbilisi  314.835582
1  Georgia    Tbilisi  261.135399
2  Georgia    Tbilisi  250.610817
3  Georgia    Tbilisi  263.794270
4  Georgia    Tbilisi  272.579135

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:17:44