亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Python:如何執行以下數據框操作

Python:如何執行以下數據框操作

嗶嗶one 2024-01-24 20:44:01
我有兩個數據框兩個 dfs 的代碼如下import pandas as pddf1 = pd.DataFrame({'income1': [-13036.0, 1200.0, -12077.5, 1100.0],                   'income2': [-30360.0, 2000.0, -2277.5, 1500.0],})df2 = pd.DataFrame({'name1': ['abc', 'deb', 'hghg', 'gfgf'],                   'name2': ['dfd', 'dfd1', 'df3df', 'fggfg'],})我想將 2 個 df 組合起來,得到一個 df,其名稱與相應的收入值相對應,如下所示。任何幫助表示贊賞。請注意,我希望它的順序與輸出中所示的順序相同。
查看完整描述

2 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

這里可以將值轉換為 numpy 數組并通過傳遞給DataFrame構造函數進行展平:


df = pd.DataFrame({'Name': np.ravel(df2.to_numpy()),?

? ? ? ? ? ? ? ? ? ?'Income': np.ravel(df1.to_numpy())})

print (df)


? ? Name? ?Income

0? ? abc -13036.0

1? ? dfd -30360.0

2? ? deb? ?1200.0

3? ?dfd1? ?2000.0

4? ?hghg -12077.5

5? df3df? -2277.5

6? ?gfgf? ?1100.0

7? fggfg? ?1500.0

或者concat使用DataFrame.stackSeries.reset_index作為默認索引值:

df = pd.concat([df2.stack().reset_index(drop=True),?

? ? ? ? ? ? ? ? df1.stack().reset_index(drop=True)],axis=1, keys=['Name','Income'])

print (df)

? ? Name? ?Income

0? ? abc -13036.0

1? ? dfd -30360.0

2? ? deb? ?1200.0

3? ?dfd1? ?2000.0

4? ?hghg -12077.5

5? df3df? -2277.5

6? ?gfgf? ?1100.0

7? fggfg? ?1500.0


查看完整回答
反對 回復 2024-01-24
?
忽然笑

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

嘗試這個:


incomes = pd.concat([df1.income1, df1.income2], axis = 0)

names   = pd.concat([df2.name1  , df2.name2]  , axis = 0)


df = pd.DataFrame({'Name': names, 'Incomes': incomes})


查看完整回答
反對 回復 2024-01-24
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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