gpt4 book ai didi

Python 将单行转置为列

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:35 26 4
gpt4 key购买 nike

我知道这个问题已经在 stackoverflow 的多个线程中被问到,但我无法实现我想要的数据转置方式。我是 python 的完全初学者,主要使用 sql。

我将值以如下所述的格式保存在数据框中

order_id  primary_dish  primary_cat  dish_id
912574 54465 2423 54481
912574 54465 2423 54540
912574 54481 2425 54465
912574 54481 2425 54540
912574 54540 2429 54481
912574 54540 2429 54465

我希望将此数据表示为

order_id    primary_dish   primary_cat    54481  5450  54465  
912574 54465 2423 1 1 0
912574 54481 2425 0 1 1
912574 54540 2429 1 0 1

基本上保存的数据框df中的最后一列dish_id
转置并且该主菜的值由 1 表示如果不存在则用 0 表示

最佳答案

试试这个:

In [5]: df.pivot_table(index=['order_id','primary_dish','primary_cat'],
columns='dish_id', aggfunc='size', fill_value=0) \
.reset_index()
Out[5]:
dish_id order_id primary_dish primary_cat 54465 54481 54540
0 912574 54465 2423 0 1 1
1 912574 54481 2425 1 0 1
2 912574 54540 2429 1 1 0

关于Python 将单行转置为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45062084/

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