【问题标题】:is there a method to process dataframe?有没有处理数据框的方法?
【发布时间】:2022-11-03 23:41:35
【问题描述】:
我有一个像这样的数据框:
words ; in ; region1 ; region2
mars ; france ; marseille 3 ; marseille 1
lil ; france; lille
marig ; italy; marseille 3 ; nantes 3
我想要输出:
regions ; words_list ; in_list
marseille 3 ; ["mars","marig"] ; ["france","italy"]
marseille 1 ; ["mars"] ; ["france"]
lille ; ['lil'] ; ['france']
nantes 3; ["marig"] ; ['italy']
所以我想重新组合数据/区域(区域 1 或 2)
谢谢你
【问题讨论】:
标签:
python
python-3.x
pandas
dataframe
【解决方案1】:
假设 df 是您的数据框。我认为如果您使用它,您可以获得所需的输出:
按 region1(然后是 region2)分组并获取“words”和“in”列的值列表
output_1 = df.groupby('region1').agg({'words': lambda x: list(x), 'in' : lambda x: list(x)}).reset_index()
output_2 = df.groupby('region2').agg({'words': lambda x: list(x), 'in' : lambda x: list(x)}).reset_index()
列 region1 和 region2 的 Concat 结果
output = pd.concat(output_1, output_2)
重命名列
output.columns = ['regions', 'words_list', 'in_list']