簡體   English   中英

如何在python中加入兩個數據框?

[英]How to join two dataframe in python?

我想使用 python 加入兩個數據框。 我附上 Book.xls 文件以供參考。 在該文件中,我們在工作表 1 中有兩列作為 System_requirement_linked 和另一列作為 OH_Requirement 鏈接。 在另一張工作表中,我們有一列 System_Requiremnet_liknked 包含與工作表 1 的兩列相同的數據。我想將工作表 1 的這些數據與工作表 2 合並,並使用工作表中可用的所有相應數據打印最終結果表. 一般來說,我將工作表放在不同的文件夾中,而不是書籍形式。

Sheet_1

Sheet_2

您可以使用pd.concat()方法合並 Pandas 中的兩個數據幀。 您必須傳遞要合並的數據框列表。

以下是合並兩個數據幀的代碼:

df1 = pd.read_excel('/content/drive/My Drive/Colab Notebooks/stackoverflow/egSheet1.xlsx')
df2 = pd.read_excel('/content/drive/My Drive/Colab Notebooks/stackoverflow/egSheet2.xlsx')

#create a list of all frames in order to append them
frameList = [df1, df2]

#append the dataframes
appendedDf = pd.concat(frameList) 

讓我們為您的工作表命名 - sheet_1 和 sheet_2。 現在 sheet_1 有 2 列 & sheet_2 有 1 列。 現在您想根據兩個工作表中都存在的特定列合並這兩個工作表。 如果我的理解是正確的,那么下面是答案

import pandas as pd
df1 = pd.read_excel("Path_to_excel.xlsx", sheet_name="Sheet_name")
df2 = pd.read_excel("Path_to_excel2.xlsx", sheet_name="Sheet_name")

df1 = df1[['Column_1', 'Column_2']]
df2 = df2[['Column_1']]

df = df1.merge(df2, on='Column_1', how='left') # if you need all entries of df1

或者

df = df1.merge(df2, on='Column_1', how='right') # if you need all entries of df2

或者

df = df1.merge(df2, on='Column_1', how='outer') # if you need all entries of both df1 & df2

或者

df = df1.merge(df2, on='Column_1') # if you need all entries that exists in both dataframes

就是它塔達!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM