获取要在列表中使用的数据框的索引
Get the indicies of a dataframe to use on a list
我正在尝试根据 pandas 的内容提取列表的元素 dataframe.This 可能最好通过一个示例来解释:
假设我有一个名为 a
的列表列表
a = [['Lazy', 'Brown', 'Fox'], ['Jumps', 'Over'], ['Big', 'Blue', 'Sea']]
和一个名为 df
的 pandas 数据框,格式为
Name Group
A 1
B 1
C 2
我想根据 df
中的组变量索引列表 a
。所以我会有一个结果
[['Lazy', 'Brown', 'Fox', 'Jumps', 'Over'], ['Big', 'Blue', 'Sea']]
或类似的东西。
我更习惯使用 R 来编码,在这个过程中这个过程会相对简单 - 所以我希望 python 也是如此,但我还没有找到任何可以帮我解决这个问题在python呢。
您可以将其表示为 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']
我正在尝试根据 pandas 的内容提取列表的元素 dataframe.This 可能最好通过一个示例来解释:
假设我有一个名为 a
的列表列表a = [['Lazy', 'Brown', 'Fox'], ['Jumps', 'Over'], ['Big', 'Blue', 'Sea']]
和一个名为 df
的 pandas 数据框,格式为
Name Group
A 1
B 1
C 2
我想根据 df
中的组变量索引列表 a
。所以我会有一个结果
[['Lazy', 'Brown', 'Fox', 'Jumps', 'Over'], ['Big', 'Blue', 'Sea']]
或类似的东西。
我更习惯使用 R 来编码,在这个过程中这个过程会相对简单 - 所以我希望 python 也是如此,但我还没有找到任何可以帮我解决这个问题在python呢。
您可以将其表示为 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']