1
我試圖用Python 2.7和熊貓一起連接三個表。我的表像下面的:一對多,左,外連接熊貓(Python)
Table 1
ID | test
1 | ss
2 | sb
3 | sc
Table 2
ID | tested | value1 | Value2 | ID2
1 | a | e | o | 1
1 | axe | ee | e | 1
1 | bce | io | p | 3
2 | bee | kd | … | 2
2 | bdd | a | fff | 3
3 | db | f | yiueie | 2
Table 3
ID2 | type
1 | i
1 | d
1 | h
3 | e
1 | o
2 | ou
2 | oui
3 | op
我正在使用的代碼如下:
import pandas as pd
xl = pd.ExcelFile(r'C:\Users\Joe\Desktop\Project1\xlFiles\test1.xlsx')
xl.sheet_names
df = xl.parse("Sheet1")
df.head()
xl2 = pd.ExcelFile(r'C:\Users\Joe\Desktop\Project1\xlFiles\test2.xlsx')
xl2.sheet_names
df2 = xl2.parse("Sheet1")
df2.head()
xl3 = pd.ExcelFile(r'C:\Users\Joe\Desktop\Project1\xlFiles\test3.xlsx')
xl3.sheet_names
df3 = xl3.parse("Sheet1")
df3.head()
df3 = df3.groupby('ID2')['type'].apply(','.join).reset_index()
s1 = pd.merge(df2, df3, how='left', on=['ID2'])
的代碼加入表3至表表2我怎麼想。但是,我無法弄清楚如何將多個列組合到一起來將s1連接到表1.我需要將s1中每一列的信息添加到表1中,但我只需要一行每個ID值(總共3行)。有誰知道我會怎麼做?
我的預期輸出,以供參考,下面是:提前爲幫助
ID | test | type | tested | value1 | ID2
1 | ss | i,d,h,o | a,axe,bce | e,ee,io | 1,1,3
2 | sb | ou,oui | bee,bdd | kd,a | 2,3
3 | sc | e,op | db | f | 2
感謝。
嘿jezrael - 這正是我一直在尋找。你真的很棒。非常感謝您的快速回復! – user68114
很高興能幫助,歡迎您! – jezrael