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

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

在 pandas 中,如何連接一些數(shù)據(jù)幀以獲得單個數(shù)據(jù)幀和一個跟蹤原始數(shù)據(jù)幀的附加列?

在 pandas 中,如何連接一些數(shù)據(jù)幀以獲得單個數(shù)據(jù)幀和一個跟蹤原始數(shù)據(jù)幀的附加列?

胡說叔叔 2022-10-25 14:44:51
我想連接一些數(shù)據(jù)框并獲得一個結果數(shù)據(jù)框,其中和附加列為我提供有關原始數(shù)據(jù)框的信息。有了這個片段:import pandas as pddf1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3'],'C': ['C0', 'C1', 'C2', 'C3'],'D': ['D0', 'D1', 'D2', 'D3']},index=[0, 1, 2, 3])df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],'B': ['B4', 'B5', 'B6', 'B7'],'C': ['C4', 'C5', 'C6', 'C7'],'D': ['D4', 'D5', 'D6', 'D7']},index=[4, 5, 6, 7])df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],'B': ['B8', 'B9', 'B10', 'B11'],'C': ['C8', 'C9', 'C10', 'C11'],'D': ['D8', 'D9', 'D10', 'D11']},index=[8, 9, 10, 11])frames = [df1, df2, df3]result = pd.concat(frames,keys=['df1','df2','df3'])print(result)我通過分層行索引得到了這個結果。          A    B    C    Ddf1 0    A0   B0   C0   D0    1    A1   B1   C1   D1    2    A2   B2   C2   D2    3    A3   B3   C3   D3df2 4    A4   B4   C4   D4    5    A5   B5   C5   D5    6    A6   B6   C6   D6    7    A7   B7   C7   D7df3 8    A8   B8   C8   D8    9    A9   B9   C9   D9    10  A10  B10  C10  D10    11  A11  B11  C11  D11相反,我想得到這個結果:       A    B    C    D    src 0    A0   B0   C0   D0    df1 1    A1   B1   C1   D1    df1 2    A2   B2   C2   D2    df1 3    A3   B3   C3   D3    df1 4    A4   B4   C4   D4    df2 5    A5   B5   C5   D5    df2 6    A6   B6   C6   D6    df2 7    A7   B7   C7   D7    df2 8    A8   B8   C8   D8    df3 9    A9   B9   C9   D9    df310   A10  B10  C10  D10    df311   A11  B11  C11  D11    df3我查看了https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html但找不到我要找的東西。
查看完整描述

2 回答

?
元芳怎么了

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

根據(jù)您的結果,您可以rename_axis獲取reset_index第一級索引作為新列:

(pd.concat(frames,keys=['df1','df2','df3'])

   .rename_axis(['src',None])

   .reset_index(level=0))


    src    A    B    C    D

0   df1   A0   B0   C0   D0

1   df1   A1   B1   C1   D1

2   df1   A2   B2   C2   D2

3   df1   A3   B3   C3   D3

4   df2   A4   B4   C4   D4

5   df2   A5   B5   C5   D5

6   df2   A6   B6   C6   D6

7   df2   A7   B7   C7   D7

8   df3   A8   B8   C8   D8

9   df3   A9   B9   C9   D9

10  df3  A10  B10  C10  D10

11  df3  A11  B11  C11  D11


查看完整回答
反對 回復 2022-10-25
?
莫回無

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

frames = [df1, df2, df3]


for i in range(len(frames)):

    frames[i]['src'] = "df"+str(i+1)

# result = pd.concat(frames,keys=['df1','df2','df3'])

result = pd.concat(frames)


print(result)

      A    B    C    D  src

0    A0   B0   C0   D0  df1

1    A1   B1   C1   D1  df1

2    A2   B2   C2   D2  df1

3    A3   B3   C3   D3  df1

4    A4   B4   C4   D4  df2

5    A5   B5   C5   D5  df2

6    A6   B6   C6   D6  df2

7    A7   B7   C7   D7  df2

8    A8   B8   C8   D8  df3

9    A9   B9   C9   D9  df3

10  A10  B10  C10  D10  df3

11  A11  B11  C11  D11  df3


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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