Python将groupby、行值转换为列标题

Python将groupby、行值转换为列标题,python,pandas,dictionary,transpose,Python,Pandas,Dictionary,Transpose,我有一个要转置的数据帧: 我想做的是将StoreName和CATegory作为列标题,并为每个类别设置权重和价格 期望输出: 我试过打圈,但没办法 我认为它可以由df.GroupBy完成,但返回的对象不是数据帧 我从API的JSON输出中获得所有这些: 我尝试了很多方法。 如果有人能给我指出正确的方向,那将非常有帮助。这是正确的方向吗 import pandas as pd sid= '13HKQ0Ue1_YCP-pKUxFuqdiqgmW_AZeR7P3VsUwrCnZo' # spr

我有一个要转置的数据帧:

我想做的是将StoreName和CATegory作为列标题,并为每个类别设置权重和价格

期望输出:

我试过打圈,但没办法

我认为它可以由df.GroupBy完成,但返回的对象不是数据帧

我从API的JSON输出中获得所有这些:

我尝试了很多方法。
如果有人能给我指出正确的方向,那将非常有帮助。

这是正确的方向吗

import pandas as pd

sid= '13HKQ0Ue1_YCP-pKUxFuqdiqgmW_AZeR7P3VsUwrCnZo' # spreadsheet id
gid = 0 # sheet unique id (0 equals sheet0)
url = 'https://docs.google.com/spreadsheets/d/{}/export?gid={}&format=csv'.format(sid,gid)

df = pd.read_csv(url)

for idx, dfx in df.groupby(df.CAT):
    if idx != 'Flower':
        continue
    df_test = dfx.drop(['CAT','NAME'], axis=1)
    df_test = df_test.rename(columns={'StoreNAME':idx}).set_index(idx).T

df_test
返回:

Flower     Pueblo West Organics - Adult Use  Pueblo West Organics - Adult Use  \
UNIT                                    NaN                               NaN   
HALFOUNCE                              15.0                              50.0   
EIGHTH                                  NaN                              25.0   
TWOGRAMS                                NaN                               NaN   
QUARTER                                 NaN                              40.0   
OUNCE                                  30.0                              69.0   
GRAM                                    NaN                               9.0   

Flower     Pueblo West Organics - Adult Use  Three Rivers Dispensary - REC  \
UNIT                                    NaN                            NaN   
HALFOUNCE                              50.0                           75.0   
EIGHTH                                 25.0                           20.0   
TWOGRAMS                                NaN                            NaN   
QUARTER                                40.0                           45.0   
OUNCE                                  69.0                          125.0   
GRAM                                    9.0                            8.0   

Flower     Three Rivers Dispensary - REC  
UNIT                                 NaN  
HALFOUNCE                           75.0  
EIGHTH                              20.0  
TWOGRAMS                             NaN  
QUARTER                             40.0  
OUNCE                              125.0  
GRAM                                 8.0  

请将数据作为文本,而不是图片。很抱歉,它没有让我发布有问题的链接。这应该给你一个提示,你不应该这样做。太棒了!谢谢,非常聪明,有没有重复权重而不是一个新的重复列?这只是一个打印的东西。
import pandas as pd

sid= '13HKQ0Ue1_YCP-pKUxFuqdiqgmW_AZeR7P3VsUwrCnZo' # spreadsheet id
gid = 0 # sheet unique id (0 equals sheet0)
url = 'https://docs.google.com/spreadsheets/d/{}/export?gid={}&format=csv'.format(sid,gid)

df = pd.read_csv(url)

for idx, dfx in df.groupby(df.CAT):
    if idx != 'Flower':
        continue
    df_test = dfx.drop(['CAT','NAME'], axis=1)
    df_test = df_test.rename(columns={'StoreNAME':idx}).set_index(idx).T

df_test
Flower     Pueblo West Organics - Adult Use  Pueblo West Organics - Adult Use  \
UNIT                                    NaN                               NaN   
HALFOUNCE                              15.0                              50.0   
EIGHTH                                  NaN                              25.0   
TWOGRAMS                                NaN                               NaN   
QUARTER                                 NaN                              40.0   
OUNCE                                  30.0                              69.0   
GRAM                                    NaN                               9.0   

Flower     Pueblo West Organics - Adult Use  Three Rivers Dispensary - REC  \
UNIT                                    NaN                            NaN   
HALFOUNCE                              50.0                           75.0   
EIGHTH                                 25.0                           20.0   
TWOGRAMS                                NaN                            NaN   
QUARTER                                40.0                           45.0   
OUNCE                                  69.0                          125.0   
GRAM                                    9.0                            8.0   

Flower     Three Rivers Dispensary - REC  
UNIT                                 NaN  
HALFOUNCE                           75.0  
EIGHTH                              20.0  
TWOGRAMS                             NaN  
QUARTER                             40.0  
OUNCE                              125.0  
GRAM                                 8.0