从序列列表创建数据帧

2024-10-03 06:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下系列:

import pandas as pd
my_series_a = pd.Series([1,2,2,4,5], name='Group_A')
my_series_b = pd.Series([50,50,70], name='Group_B')
my_series_c = pd.Series([333,222,111,111], name='Group_C')
my_list = [my_series_a, my_series_b, my_series_c]

我需要创建一个包含2列的数据帧[Group,Sub Group]:

组:系列名称
子组:每个系列的唯一值

结果应为:

^{pr2}$

Tags: 数据nameimport名称pandasmyasgroup
1条回答
网友
1楼 · 发布于 2024-10-03 06:24:14

使用列表理解和pd.unique()函数:

In [11]: pd.DataFrame([(arr.name, i) for arr in my_list for i in pd.unique(arr)],
                      columns=['Group', 'Sub-Group'])
Out[11]: 
     Group  Sub-Group
0  Group_A          1
1  Group_A          2
2  Group_A          4
3  Group_A          5
4  Group_B         50
5  Group_B         70
6  Group_C        333
7  Group_C        222
8  Group_C        111

相关问题 更多 >