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

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

如何沿行壓縮或堆疊熊貓數(shù)據(jù)框?

如何沿行壓縮或堆疊熊貓數(shù)據(jù)框?

湖上湖 2021-08-14 21:38:39
我有一個包含多列的大熊貓數(shù)據(jù)框,但是讓我們關注兩個:df = pd.DataFrame([['hey how are you', 'fine thanks',1],                     ['good to know', 'yes, and you',2],                    ['I am fine','ok',3],                    ['see you','bye!',4]],columns=list('ABC'))df出去:    A                   B           C0   hey how are you     fine thanks 11   good to know    yes, and you    22   I am fine             ok        33   see you             bye!        4從前面的數(shù)據(jù)框中,我如何將兩個特定的列壓縮成一個單獨的 Pandas 數(shù)據(jù)框來執(zhí)行其他列的值?例如:    A                C0   hey how are you  11   fine thanks      12   good to know     23   yes, and you     24   I am fine        35   ok               36   see you          47   bye!             4我試過了:df = df['A'].stack()df = df.groupby(level=0)df但是,它不起作用。知道如何實現(xiàn)新格式嗎?
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

這將刪除列名,但完成工作:


import pandas as pd


df = pd.DataFrame([['hey how are you', 'fine thanks'], 

                    ['good to know', 'yes, and you'],

                    ['I am fine','ok'],

                    ['see you','bye!']],columns=list('AB'))


df.stack().reset_index(drop=True)


0    hey how are you

1        fine thanks

2       good to know

3       yes, and you

4          I am fine

5                 ok

6            see you

7               bye!

dtype: object

默認堆棧行為保留列名:


df.stack()


0  A    hey how are you

   B        fine thanks

1  A       good to know

   B       yes, and you

2  A          I am fine

   B                 ok

3  A            see you

   B               bye!

dtype: object

如果您有更多列,您可以選擇要堆疊的列,只需使用列索引:


df[["A", "B"]].stack()

使用額外的列,事情變得棘手,您需要通過降低一級(包含列)來對齊索引:


df["C"] = range(4)


stacked = df[["A", "B"]].stack()

stacked.index = stacked.index.droplevel(level=1)


stacked


0    hey how are you

0        fine thanks

1       good to know

1       yes, and you

2          I am fine

2                 ok

3            see you

3               bye!

dtype: object

現(xiàn)在我們可以連接C列:


pd.concat([stacked, df["C"]], axis=1)


                 0  C

0  hey how are you  0

0      fine thanks  0

1     good to know  1

1     yes, and you  1

2        I am fine  2

2               ok  2

3          see you  3

3             bye!  3


查看完整回答
反對 回復 2021-08-14
?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

您可能正在尋找的是pandas.concat.

它接受“Series、DataFrame 或 Panel 對象的序列或映射”,因此您可以傳遞選擇列listDataFrame對象(將pd.Series在為單個列編制索引時)。

df3 = pd.concat([df['A'], df['B']])


查看完整回答
反對 回復 2021-08-14
  • 3 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號