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

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

根據(jù) pivot_table 的輸出動(dòng)態(tài)重命名數(shù)據(jù)框

根據(jù) pivot_table 的輸出動(dòng)態(tài)重命名數(shù)據(jù)框

守著星空守著你 2023-06-06 17:38:28
我試圖以一種格式壓縮我的數(shù)據(jù),這樣它會(huì)更有用,數(shù)據(jù)格式:Table1Key       AttName     Rank1          Color       11           type       21           kkk        32          Color       12           type       2     如上圖所示,例如,一些鍵有 2 個(gè)屬性,而其他鍵有 3 個(gè)屬性,所以當(dāng)我創(chuàng)建數(shù)據(jù)透視表然后嘗試標(biāo)記它不起作用的列名時(shí),hpw 我可以更改它嗎,正如上面顯示的那樣,鍵 1 有 3 個(gè)屬性名稱而 Key 2 只有 2 個(gè)導(dǎo)致錯(cuò)誤發(fā)生最終數(shù)據(jù):Table2Family     Assortment Group       Key       Attribute Name      Attribute Valuea                ab                1            Color              Greena1               ab                1            Color              Yellowa2               ab                1            type               shirta6               ab                1            kkkk               fa3               ab                2            Color              Reda4               ab                2            Type               TShirta5               ab                2            Color              Yellow代碼#For loop that loops over key values; key values defined as Zone AGFinals=[]Finals2=[]Finals=pd.DataFrame(Finals)Finals2=pd.DataFrame(Finals)for group in Select.groupby('Key'):     # group is a tuple where the first value is the Key and the second is the dataframe    Final2=group[1]    Family1=Family.merge(Final2, on='Key1', how='inner')    result=Family1.pivot_table(index=['Family','Assortment Group','Key'], columns='Attribute Name', values='Attribute Value', aggfunc='first').reset_index()    result.columns=['Family','Assortment Group','Key','Att1','Att2','Att3']    Finals=Finals.append(result)追溯ValueError: Length mismatch: Expected axis has 5 elements, new values have 6 elements
查看完整描述

1 回答

?
慕妹3242003

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

您可以使用列表理解重命名列以生成適量的 Att 列。

result.columns = ['Family','Assortment Group','Key']\
                 + [f'Att{i}' for i in range(1, result.shape[1]-2)]

編輯:解釋,result.shape[1]給出結(jié)果中的列數(shù)。假設(shè)它是 5,那么前 3 個(gè)是“Family”、“Assortment Group”、“Key”。所以你想要的是再創(chuàng)建 2 個(gè) Att,range(1, result.shape[1]-2)在這種情況下range(1, 3),[f'Att{i}' for i in range(1, result.shape[1]-2)]然后將迭代 i=1 和 i=2 以創(chuàng)建列表['Att1', 'Att2']。將此列表添加到具有前 3 列名稱的列表中以獲得正確的列數(shù)


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

添加回答

舉報(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)