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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python Pandas:如何在沒有 pivot() 的情況下解開?

Python Pandas:如何在沒有 pivot() 的情況下解開?

瀟瀟雨雨 2022-07-26 10:56:10
我有一個數據框:df = pd.DataFrame({    "col1":[1,2,3,4],    "col2":[1,2,3,4],    "PARMAM_NAME":["a", "b", "c", "d"],    "PARMAM_VALUE":[100, 200, 300, 400],})我希望它轉換為:有沒有一種簡單的方法可以做到這一點?
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

你可以在這樣的單行中使用unstack來做到這一點。

df.set_index(["col1", "col2", "PARMAM_NAME"])["PARMAM_VALUE"].unstack().reset_index()

基本上,我將其他列放在索引的開頭(col1col2),然后是要旋轉的列(PARMAM_NAME)。之后,我將最后一個索引放在PARMAM_VALUE. 最后,我將索引重置為移動col1col2從索引返回到數據框。

雖然,如果你對pivot_table 沒問題,你也可以這樣做:

df.pivot_table("PARMAM_VALUE", ["col1", "col2"], "PARMAM_NAME").reset_index()


查看完整回答
反對 回復 2022-07-26
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

使用DataFrame.set_indexwith append=TrueforMultiIndex和 reshape by Series.unstack,然后刪除不必要的列并加入原始 by DataFrame.join:


df1 = df.set_index('PARMAM_NAME', append=True)['PARMAM_VALUE'].unstack()

df = df.drop(['PARMAM_NAME','PARMAM_VALUE'],axis=1).join(df1)

print (df)

   col1  col2      a      b      c      d

0     1     1  100.0    NaN    NaN    NaN

1     2     2    NaN  200.0    NaN    NaN

2     3     3    NaN    NaN  300.0    NaN

3     4     4    NaN    NaN    NaN  400.0


查看完整回答
反對 回復 2022-07-26
  • 2 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號