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

如何动态创建嵌套列表并构建符合要求的Pokémon Pandas DataFrame

解决宝可梦多属性的Pandas DataFrame创建问题

核心解决思路是:将每个宝可梦的属性存入子列表,让Type列表的长度与其他属性列表(如Name、Height)保持一致,不管单个宝可梦有1个还是多个属性。

直接构造符合要求的字典

手动构造字典时,哪怕是单属性的宝可梦,也用子列表包裹其属性值:

import pandas as pd

# 每个宝可梦的Type对应一个子列表,长度与Name、Height一致
pokemon_data = {
    'Name': ['Bulbasaur', 'Charmander', 'Charmeleon'],
    'Height': [7, 6, 11],
    'Type': [['Grass', 'Poison'], ['Fire'], ['Fire']]
}

# 成功生成DataFrame
df = pd.DataFrame(pokemon_data)
print(df)

输出结果:

Name  Height             Type
0   Bulbasaur       7  [Grass, Poison]
1  Charmander       6           [Fire]
2  Charmeleon      11           [Fire]

从原始数据批量转换

如果你的原始属性数据是用分隔符(如/、,)拼接的字符串,可以通过列表推导式批量转为嵌套列表:

# 假设原始Type数据是带分隔符的字符串
raw_type_data = ['Grass/Poison', 'Fire', 'Fire']
# 分割字符串并转为子列表
processed_types = [item.split('/') for item in raw_type_data]

# 整合进字典
pokemon_data = {
    'Name': ['Bulbasaur', 'Charmander', 'Charmeleon'],
    'Height': [7, 6, 11],
    'Type': processed_types
}

df = pd.DataFrame(pokemon_data)

这种方式会自动处理单/多属性的情况,确保Type列表的长度与其他属性完全匹配,顺利生成有效的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:01:07