获取要在lis上使用的数据帧的标记

2024-03-29 12:55:22 发布

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

我试图根据pandas数据帧的内容提取列表元素。这可能通过一个示例得到最好的解释:

假设我有一个列表,叫做

a = [['Lazy', 'Brown', 'Fox'], ['Jumps', 'Over'], ['Big', 'Blue', 'Sea']]

以及一个称为df的数据帧,其形式为

Name    Group
A         1
B         1
C         2

我想根据df中的组变量为列表a编制索引。所以我会有结果的

[['Lazy', 'Brown', 'Fox', 'Jumps', 'Over'], ['Big', 'Blue', 'Sea']]

或者类似的东西

我更习惯于使用R来编写代码,在这种情况下,这个过程将相对简单——因此我希望python中也是如此,但我还没有发现任何东西可以帮助我在python中解决这个问题


Tags: 数据元素示例内容pandasdf列表blue
1条回答
网友
1楼 · 发布于 2024-03-29 12:55:22

您可以将其表示为groupby/agg operation

import pandas as pd
a = [['Lazy', 'Brown', 'Fox'], ['Jumps', 'Over'], ['Big', 'Blue', 'Sea']]
df = pd.DataFrame({'Name':list('ABC'), 'Group':[1,1,2]})
df['a'] = a
print(df.groupby(['Group'])['a'].sum())

屈服

Group
1    [Lazy, Brown, Fox, Jumps, Over]
2                   [Big, Blue, Sea]
Name: a, dtype: object

通过求和进行聚合是有效的,因为两个列表的总和是一个串联列表:

In [322]: ['Lazy', 'Brown', 'Fox'] + ['Jumps', 'Over']
Out[322]: ['Lazy', 'Brown', 'Fox', 'Jumps', 'Over']

相关问题 更多 >