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

如何将大洲-国家列表的DataFrame转换为每行对应单个国家的格式?

解决方法

你可以用pandas的explode()方法快速实现这个格式转换,具体操作如下:

步骤说明

  1. 给转置后的DataFrame列重命名:原转置结果的列名为0,将其改为countries,方便后续操作。
  2. 拆分列表行:使用explode()方法把每个大洲对应的国家列表拆分成单独的行。
  3. 整理索引与列:重置索引,把原索引(大洲名)转为普通列,再调整列名和顺序。

完整代码示例

import pandas as pd

# 生成原始转置后的DataFrame
df = pd.DataFrame({
    'asia':[['china','india','australia']],
    'europe':[['spain','uk','russia','france','germany']],
    'americas':[['canada','usa','mexico']]
}).transpose()

# 重命名列
df.columns = ['countries']

# 拆分列表并整理结构
result_df = df.explode('countries').reset_index().rename(columns={'index':'region'})

# 输出目标格式的文本
for _, row in result_df.iterrows():
    print(f"{row['region']} | {row['countries']}")

运行结果

执行代码后会输出你需要的格式:

asia | china
asia | india
asia | australia
europe | spain
europe | uk
europe | russia
europe | france
europe | germany
americas | canada
americas | usa
americas | mexico

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:20:36