第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

熊貓數(shù)據(jù)框列到子列

熊貓數(shù)據(jù)框列到子列

浮云間 2021-12-09 15:26:27
我想將列轉(zhuǎn)換為子列。假設(shè)數(shù)據(jù)是這樣的;    Q1  Q2:Q21  Q2:Q22 Q2:Q23 Q3:Q31 Q3:Q320  yes   green    blue  green    bus    car1   no     red  orange   blue    car   bike2  yes   green  yellow  black    car   walk3  yes  yellow   green  brown    bus   walk4   no   green   green    red    car    bus對(duì)列進(jìn)行整形后,我想擁有;    Q1              Q2               Q3    Q1     Q21     Q22    Q23    Q31    Q320  yes   green    blue  green    bus    car1   no     red  orange   blue    car   bike2  yes   green  yellow  black    car   walk3  yes  yellow   green  brown    bus   walk4   no   green   green    red    car    bus在這里,我嘗試過的;import pandas as pdsurvey = pd.read_csv('survey.csv')# first column namessurvey_cols = [col.split(':')[0] for col in survey.columns]# unique column namessurvey_ucols = []for e in survey_cols:    if e not in survey_ucols:        survey_ucols.append(e)# second column names, subcolumnssurvey_subcols = []for col in survey_ucols:    survey_subcols.append([subcol.split(':')[-1] for subcol in survey.columns if col in subcol])# create new dftuples = list(zip(survey_ucols,survey_subcols))cols = pd.MultiIndex.from_tuples(tuples, names=['mainQ', 'subQ'])survey_new = pd.DataFrame(survey, columns=cols)提前致謝
查看完整描述

1 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

您可以使用Index.to_series和創(chuàng)建輔助數(shù)據(jù)幀Series.str.split,因此可能向前填充每行的缺失值ffill,最后分配回MultiIndex.from_arrays:


df = survey.columns.to_series().str.split(':', expand=True).ffill(axis=1)

survey.columns = pd.MultiIndex.from_arrays([df[0].tolist(), df[1].tolist()])

#simplified

#survey.columns = [df[0].tolist(), df[1].tolist()]

print (survey)

    Q1      Q2                  Q3      

    Q1     Q21     Q22    Q23  Q31   Q32

0  yes   green    blue  green  bus   car

1   no     red  orange   blue  car  bike

2  yes   green  yellow  black  car  walk

3  yes  yellow   green  brown  bus  walk

4   no   green   green    red  car   bus

詳情:


print (df)

         0    1

Q1      Q1   Q1

Q2:Q21  Q2  Q21

Q2:Q22  Q2  Q22

Q2:Q23  Q2  Q23

Q3:Q31  Q3  Q31

Q3:Q32  Q3  Q32


查看完整回答
反對(duì) 回復(fù) 2021-12-09
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)