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

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

如何在 Pandas Dataframe 中將行轉(zhuǎn)換為列

如何在 Pandas Dataframe 中將行轉(zhuǎn)換為列

UYOU 2022-06-28 15:14:13
我有一個(gè)格式如下的數(shù)據(jù)框:DF1:原始數(shù)據(jù)框的形狀為 (1200, 9)這是示例數(shù)據(jù)框    x1      x2      x3     Group    1.0     0.0     0.0     A    0.0     0.0     0.0     A    0.0     3.0     11.0    A    0.0     0.0     0.0     A    0.0     1.0     0.0     A    0.0     0.0     0.0     E    0.0     0.0     0.0     E    0.0     0.0     0.0     E    0.0     0.0     6.0     E    0.0     0.0     0.0     E我想要以下格式的輸出:DF_Res:Group    A    E   x1  1.0  0.0   x2  0.0  0.0   x3  0.0  0.0   x1  0.0  0.0   x2  0.0  0.0   x3  0.0  0.0   x1  0.0  0.0   x2  3.0  0.0   x3  11.0  0.0   x1  0.0  0.0   x2  0.0  0.0   x3  0.0  6.0   x1  0.0  0.0   x2  1.0  0.0   x3  0.0  0.0我想轉(zhuǎn)換我的列,使它們成為組,組成為列標(biāo)題。
查看完整描述

2 回答

?
有只小跳蛙

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

如果想要聚合值,例如按sum組:


df1 = df.groupby('Group').sum().T.rename_axis(None, axis=1).rename_axis('Group').reset_index()

print (df1)

  Group    A    E

0    x1  0.0  0.0

1    x2  0.0  0.0

2    x3  0.0  0.0

3    x4  0.0  0.0

4    x5  0.0  0.0

5    x6  0.0  0.0

6    x7  0.0  0.0

7    x8  0.0  0.0

編輯:


df2 = df.set_index('Group').T.rename_axis(None, axis=1).rename_axis('Group').reset_index()

print (df2)

  Group    A    A    E    E    A

0    x1  0.0  0.0  0.0  0.0  0.0

1    x2  0.0  0.0  0.0  0.0  0.0

2    x3  0.0  0.0  0.0  0.0  0.0

3    x4  0.0  0.0  0.0  0.0  0.0

4    x5  0.0  0.0  0.0  0.0  0.0

5    x6  0.0  0.0  0.0  0.0  0.0

6    x7  0.0  0.0  0.0  0.0  0.0

7    x8  0.0  0.0  0.0  0.0  0.0

編輯1:


df = (df.set_index('Group')

        .groupby(level=0)

        .apply(lambda x: x.stack().reset_index(level=0, drop=True))

        .rename_axis(None)

        .rename_axis('Group', axis=1)

        .T

        .reset_index())


print (df)

   Group     A    E

0     x1   1.0  0.0

1     x2   0.0  0.0

2     x3   0.0  0.0

3     x1   0.0  0.0

4     x2   0.0  0.0

5     x3   0.0  0.0

6     x1   0.0  0.0

7     x2   3.0  0.0

8     x3  11.0  0.0

9     x1   0.0  0.0

10    x2   0.0  0.0

11    x3   0.0  6.0

12    x1   0.0  0.0

13    x2   1.0  0.0

14    x3   0.0  0.0


查看完整回答
反對(duì) 回復(fù) 2022-06-28
?
暮色呼如

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

這有點(diǎn)“hacky”,但您需要?jiǎng)?chuàng)建一個(gè)單獨(dú)的索引來區(qū)分您的值。例如,多個(gè)值對(duì)應(yīng)于A和x1。這就是我所說的:


df_new = df.set_index('Group')

df_new = df_new.groupby(df_new.index, as_index=False).apply(lambda x: x.stack().reset_index())

df_new.columns = ['Group', 'x', 'value']

df_new = df_new.droplevel(axis=0, level=0).set_index(['Group', 'x'], append=True).unstack('Group').droplevel(axis=1, level=0)

結(jié)果:


Group     A    E

x               

x1      1.0  0.0

x2      0.0  0.0

x3      0.0  0.0

x1      0.0  0.0

x2      0.0  0.0

x3      0.0  0.0

x1      0.0  0.0

x2      3.0  0.0

x3     11.0  0.0

x1      0.0  0.0

x2      0.0  0.0

x3      0.0  6.0

x1      0.0  0.0

x2      1.0  0.0

x3      0.0  0.0


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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