Python 熊猫合并多个数据帧生成大量数据 表1 遇到了|独特的|其他一些颜色 表2 遇到了其他的科尔

Python 熊猫合并多个数据帧生成大量数据 表1 遇到了|独特的|其他一些颜色 表2 遇到了其他的科尔,python,pandas,dataframe,join,merge,Python,Pandas,Dataframe,Join,Merge,我有表3、表4、表5以及EncounterID和其他列 唯一标识仅出现在表1中。可以根据UniqueID从表1中获取所有遇到的ID,并且一个UniqueID可以有多个遇到 以下是我的实施: uniquePatientIds=Table1.UNIQUE_ID.unique() for id in uniquePatientIds: Record = Table1.loc[Table1['UNIQUE_ID'] == id] ptonTable2 = pd.merge(Record,

我有表3、表4、表5以及EncounterID和其他列

唯一标识仅出现在表1中。可以根据UniqueID从表1中获取所有遇到的ID,并且一个UniqueID可以有多个遇到

以下是我的实施:

uniquePatientIds=Table1.UNIQUE_ID.unique()
for id in uniquePatientIds:
    Record = Table1.loc[Table1['UNIQUE_ID'] == id]
    ptonTable2 = pd.merge(Record, Table2, on = 'ENCOUNTER_ID' , how='left')
    ptonTable3 = pd.merge(ptonTable2, Table3, on = 'ENCOUNTER_ID' , how='left')
    ptonTable4 = pd.merge(ptonTable3, Table4, on = 'ENCOUNTER_ID' , how='left')
    ptonTable5 = pd.merge(ptonTable4, Table5, on = 'ENCOUNTER_ID' , how='left')
    print(ptonTable5.shape)
表1有6个遭遇ID,对应1个唯一的遭遇ID(6,24) 同样地, 表2有(3,7) 表3有(55,10) 表4有(24、22) 表5有(59、17)

当执行“左外连接”最终输出has(19854,76)时,与其他唯一的_ID相比,该唯一的_ID具有很少的遭遇ID,因此很少有其他输出具有“100000”行

我也检查了副本,没有生成任何副本


我不熟悉熊猫和数据帧。是否有人可以帮助您从所有表中获取所有遇到的行和列

在您的任何数据帧中是否有遇到的ID多次出现?是的,很少有遇到的ID多次出现,这至少是造成行数过多的部分原因。此示例在列表中包含3个dfs。他们有一个遭遇id,但它在dfs中显示了5、10和15次。结果df有5*10*15=750行
df_list=[pd.DataFrame({'conference_id':['id1'表示范围内的i(5*(j+1)),'y':np.random.randint(low=1,high=10,size=5*(j+1)),表示范围内的j(3)]。\35;都有一个唯一的id
合并的_df=df_list[0]。copy()
表示范围内的i(1,len(df list)):合并的[i]:合并的(df=pd.merge(合并的)df,df list[i='
打印(合并的形状)#(750,4)