繁体   English   中英

Python Pandas 函数根据另一列中的重复值将不同的值合并到一行中

[英]Python pandas function to concat into one row different values into one column based on repeating values in another

抱歉,我什至不知道如何命名/描述我遇到的问题,所以请耐心等待。 我有以下代码:

import pandas as pd
data = {'Invoice Number':[1279581, 1279581,1229422, 1229422, 1229422],
        'Project Key':[263736, 263736, 259661, 259661, 259661],
        'Project Type': ['Visibility', 'Culture', 'Spend', 'Visibility', 'Culture']}
df= pd.DataFrame(data)

在此处输入图片说明

如何让输出基本上对发票编号进行分组,以便每个发票编号只有 1 行,并将多个项目类型(每 1 个发票)合并为 1 行? 输出的代码和输出如下。 非常感谢。

import pandas as pd
data = {'Invoice Number':[1279581,1229422],
        'Project Key':[263736, 259661],
        'Project Type': ['Visibility_Culture', 'Spend_Visibility_Culture']
}
output = pd.DataFrame(data)
output

在此处输入图片说明

>>> (df
     .groupby(['Invoice Number', 'Project Key'])['Project Type']
     .apply(lambda x: '_'.join(x))
     .reset_index()
    )
   Invoice Number  Project Key              Project Type
0         1229422       259661  Spend_Visibility_Culture
1         1279581       263736        Visibility_Culture

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM