例如,假设有一系列
0 'pikachu'
1 'squirtle'
和将口袋妖怪名称映射到由颜色和重量组成的系列的映射。
例如,'皮卡丘'映射到系列
color 'yellow'
weight 5
我想知道如何获得看起来像
的DataFrame pokemon color weight
0 pikachu 'yellow' 5
1 squirtle 'blue' 8
我能提出的当前解决方案包括许多pd.concat
,但我怀疑可能有更清洁的方式。
答案 0 :(得分:1)
如果您将它们存储为字典:
In [11]: pika
Out[11]:
color yellow
weight 5
dtype: object
In [12]: squi
Out[12]:
color blue
weight 8
dtype: object
In [13]: pokes = {'pikachu': pika, 'squirtle': squi}
然后你可以使用get方法(取名字并返回Series):
In [14]: pokemon
Out[14]:
0 pikachu
1 squirtle
dtype: object
In [15]: pokemon.apply(pokes.get)
Out[15]:
color weight
0 yellow 5
1 blue 8
注意:使用_['name'] = pokemon
添加名称列。
或者您可以使用from_dict方法:
In [21]: pd.DataFrame.from_dict(pokes, orient='index')
Out[21]:
color weight
pikachu yellow 5
squirtle blue 8