2017-12-29 28 views
-1

열 머리글에 행 값 : 내가 원하는 무엇 enter image description here파이썬 팬더 GROUPBY, 내가 트랜스 싶어 나는 DataFrame이

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) 

이 얻을 StoreName이과 열 머리글로 분류하고 가격 대비 무게가 모든 카테고리.

원하는 출력 : enter image description here

나는

가 나는 df.GroupBy에 의해 수행 될 수 있었다 그러나 반환 된 객체가 DataFrame없는 생각, 루프, 팬더을 시도했지만 그것을 알아낼 수 없습니다.

가 나는 API의 JSON 출력에서 ​​모든 것을 얻을 : 방법의

API Link for 1STORE

import pandas as pd 
import json, requests 
from cytoolz.dicttoolz import merge 
page = requests.get(mainurl) 

dict_dta = json.loads(page.text) # load in Python DICT 

list_columns = ['id', 'name', 'category_name', 'ounce', 'gram', 'two_grams', 'quarter', 'eighth','half_ounce','unit','half_gram'] # get the unformatted output 

df = pd.io.json.json_normalize(dict_dta, ['categories', ['items']]).pipe(lambda x: x.drop('prices', 1).join(x.prices.apply(lambda y: pd.Series(merge(y)))))[list_columns] 
df.to_csv('name') 

내가 시도 톤. 누군가 나를 올바른 방향으로 향하게 할 수 있다면 매우 도움이 될 것입니다.

+4

데이터를 텍스트로하십시오,하지 사진. –

+0

[입력] (https://docs.google.com/spreadsheets/d/13HKQ0Ue1_YCP-pKUxFuqdiqgmW_AZeR7P3VsUwrCnZo/edit?usp=sheets_home&ths=true) [출력] (https://docs.google.com/spreadsheets/d/1RCyVYBKIyIJxV4K) -IJLhxu3c04KRL2LirwjfZleoc98/edit # gid = 0) 죄송합니다. 질문에 링크를 게시하지 않았습니다. –

+0

그렇게하면 안된다는 암시를 주어야합니다. –

답변

1

올바른 방향입니까?

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 
+0

놀라운! 고맙습니다. 매우 똑똑합니다. 어쨌든 새로운 중복 열 대신에 가중치를 반복 할 것입니까? –

+0

그건 그냥 인쇄 일뿐입니다. –