gpt4 book ai didi

python - Pandas:使用重复值进行透视

转载 作者:行者123 更新时间:2023-11-28 22:28:05 27 4
gpt4 key购买 nike

我想旋转一个在一列中具有重复值的数据框,以在新列中显示关联值,如下例所示。从 Pandas 文档中我无法弄清楚如何从这里开始......

name   car    model
rob mazda 626
rob bmw 328
james audi a4
james VW golf
tom audi a6
tom ford focus

为此...

name   car_1  model_1  car_2  model_2
rob mazda 626 bmw 328
james audi a4 VW golf
tom audi a6 ford focus

最佳答案

x = df.groupby('name')['car','model'] \
.apply(lambda x: pd.DataFrame(x.values.tolist(),
columns=['car','model'])) \
.unstack()
x.columns = ['{0[0]}_{0[1]}'.format(tup) for tup in x.columns]

结果:

In [152]: x
Out[152]:
car_0 car_1 model_0 model_1
name
james audi VW a4 golf
rob mazda bmw 626 328
tom audi ford a6 focus

如何对列进行排序:

In [157]: x.loc[:, x.columns.str[::-1].sort_values().str[::-1]]
Out[157]:
model_0 car_0 model_1 car_1
name
james a4 audi golf VW
rob 626 mazda 328 bmw
tom a6 audi focus ford

关于python - Pandas:使用重复值进行透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764983/

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