gpt4 book ai didi

python - 来自另一个数据框的映射值

转载 作者:行者123 更新时间:2023-12-05 04:27:59 24 4
gpt4 key购买 nike

我有一个数据框:

    TagID   Genre
0 0 rock
1 1 pop
2 2 favorites
3 3 alternative
4 4 love

和数据框b:

    Tags
0 154
1 20 35 40 65

我想要这样的结果:

  Genre
0 wjlb-fm
1 chill, rnb, loved, hip hop

最佳答案

在加入第一个数据框之前展开你的 Tags 列:

df2['Genre'] = (df2['Tags'].str.split().explode().astype(df1['TagID'].dtype)
.map(df1.set_index('TagID')['Genre'])
.groupby(level=0).agg(', '.join))
print(df2)

# Output
Tags Genre
0 3 alternative
1 1 4 2 pop, love, favorites

一步一步:

# 1. Explode your column
>>> out = df2['Tags'].str.split().explode().astype(df1['TagID'].dtype)
0 3
1 1
1 4
1 2
Name: Tags, dtype: int64

# 2. Match genre by tag id
>>> out = out.map(df1.set_index('TagID')['Genre'])
0 alternative
1 pop
1 love
1 favorites
Name: Tags, dtype: object

# 3. Reshape your dataframe
>>> out = out.groupby(level=0).agg(', '.join)
0 alternative
1 pop, love, favorites
Name: Tags, dtype: object

关于python - 来自另一个数据框的映射值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72709888/

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