【发布时间】:2021-03-07 04:20:30
【问题描述】:
如何将list 函数应用于未使用apply 而是使用transform 聚合的分组pandas dataframe?
对我来说,以下失败:KeyError: "None of [Index(['v1', 'v2'], dtype='object')] are in the [index]"
import pandas as pd
df = pd.DataFrame({'key':[1,1,1,2,3,2], 'v1': [1,4,6,7,4,9], 'v2':[0.3, 0.6, 0.4, .1, .2, .8]})
display(df)
def list_function(x):
#display(x)
all_values = x[['v1','v2']].drop_duplicates()
#display(all_values)
#result = all_values.to_json()
result = all_values.values
return result
display(df.groupby(['key']).apply(list_function))
df['list_result'] = df.groupby(['key']).transform(list_function)
df
注意:我知道聚合数据可以进行联接,但在这种特殊情况下,我不希望之后再进行联接。
【问题讨论】:
标签: python pandas list pandas-groupby