如何按列名称合并两个数据帧

2024-06-16 14:55:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据框,一个看起来像这样(形状:12553*83):

    A12D        A131          A12B ...
0   1.096131    2.609943    -0.659828
1   1.111370    2.650422    -0.648742

另一个看起来像这样(形状:1*105)

            A12B        A0CM        A18V...
PAM50 mRNA  Basal-like  Basal-like  Basal-like

我想用相同的列名内部合并两个表。比如:

            A12D        A131          A12B ...
PAM50 mRNA  Basal-like  Basal-like  Basal-like
1           1.096131    2.609943    -0.659828
2           1.111370    2.650422    -0.648742

因为这两个表都很大,所以列名并没有完全显示出来。另一个问题是列名可能重复。我搜索了几种合并方法,其中大多数只是按列值合并。那么在这种情况下我能做什么呢?提前谢谢


Tags: 数据方法情况like形状mrnabasala12b
2条回答

好的,问题解决了!谢谢大家的帮助!我首先删除了重复的列,然后合并了两个表。像

df1 = df1.loc[:,~df1.columns.duplicated()]

merged = pd.concat([df1,df2],join='inner')

正如@sushanth所指出的,将pd.concat()join='inner'一起使用。以下是一个例子:

import pandas as pd
df1 = pd.DataFrame({'a': [1, 2, 3], 
                    'b': [4, 5, 6], 
                    'c': [7, 8, 9]})
df2 = pd.DataFrame({'b': [11, 12, 13], 
                    'c': [14, 15, 16], 
                    'd': [17, 18, 19]})
t = pd.concat([df1, df2], axis=0, join='inner')
print(t)

    b   c
0   4   7
1   5   8
2   6   9
0  11  14
1  12  15
2  13  16

更多信息请点击此处:

相关问题 更多 >