gpt4 book ai didi

python - 如何将 group by Keys 应用于相关组

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:36 25 4
gpt4 key购买 nike

我有一个数据框,我使用 group by 对它们进行分组,如下所示

Name      Nationality    age
Peter UK 28
John US 29
Wiley UK 28
Aster US 29

grouped = self_ex_df.groupby([Nationality, age])
  1. 现在我想为每个值附加一个唯一 ID

我正在尝试这个,但不确定它是否有效?

uniqueID = 'ID_'+ grouped.groups.keys().astype(str)

uniqueID Name Nationality age
ID_UK28 Peter UK 28
ID_US29 John US 29
ID_UK28 Wiley UK 28
ID_US29 Aster US 29
  1. 我现在想将它组合成一个新的 DF,类似于这样

     uniqueID   Nationality    age   Text
    ID_UK28 UK 28 Peter and Whiley have a combined age of 56
    ID_US_29 US 29 John and Aster have a combined age of 58

我如何实现上述目标?

最佳答案

希望足够接近,无法得到平均年龄:

import pandas as pd

#create dataframe
df = pd.DataFrame({'Name': ['Peter', 'John', 'Wiley', 'Aster'], 'Nationality': ['UK', 'US', 'UK', 'US'], 'age': [28, 29, 28, 29]})

#make uniqueID
df['uniqueID'] = 'ID_' + df['Nationality'] + df['age'].astype(str)

#groupby has agg method that can take dict and preform multiple aggregations
df = df.groupby(['uniqueID', 'Nationality']).agg({'age': 'sum', 'Name': lambda x: ' and '.join(x)})

#to get text you just combine new Name and sum of age
df['Text'] = df['Name'] + ' have a combined age of ' + df['age'].astype(str)

关于python - 如何将 group by Keys 应用于相关组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com