gpt4 book ai didi

python - 多列的条件命名

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

我有一个数据集;

>>> all_transcripts

ID Type Name
1 Guest Hugo
1 Guest Hugo
1 Boss Boss
1 Boss Boss
2 Boss Boss
2 Guest Calvin
2 Guest Calvin
3 Guest Klein
3 Boss Boss

现在,我想创建一个名为 nameGuest 的列,其中包含每行每个 ID 的客人姓名。因此,我想要的输出如下所示:

>>> all_transcripts

ID Type Name nameGuest
1 Guest Hugo Hugo
1 Guest Hugo Hugo
1 Boss Boss Hugo
1 Boss Boss Hugo
2 Boss Boss Calvin
2 Guest Calvin Calvin
2 Guest Calvin Calvin
3 Guest Klein Klein
3 Boss Boss Klein

我该怎么做?

最佳答案

使用Series.mapboolean indexing 创建的助手 Series , DataFrame.drop_duplicatesDataFrame.set_index获取每组 Guest 的第一个值:

s = df[df['Type'] == 'Guest'].drop_duplicates('ID').set_index('ID')['Name']
df['nameGuest'] = df['ID'].map(s)
print (df)
ID Type Name nameGuest
0 1 Guest Hugo Hugo
1 1 Guest Hugo Hugo
2 1 Boss Boss Hugo
3 1 Boss Boss Hugo
4 2 Boss Boss Calvin
5 2 Guest Calvin Calvin
6 2 Guest Calvin Calvin
7 3 Guest Klein Klein
8 3 Boss Boss Klein

关于python - 多列的条件命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55917020/

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