我试图concat2 csv文件,数据df1b(2214,4)和df2b(2262,4)。这两个文件中的大部分索引是相同的,因此我希望这些行重叠,如果索引是唯一的,其他行将由NaN填充。示例如下:
东风1B
Index Col1, 2, 3
A . Data in all columns
B . Data in all columns
D . Data in all columns
E . Data in all columns
东风2B
索引,ColX,Y,Z
A . Data in all columns
B . Data in all columns
C . Data in all columns
E . Data in all columns
预期最终浓度:
索引,Col1,2,3,x,y,z
A . Data in all columns
B . Data in all columns
C . NaN, NaN, NaN, Data, data, data
D . Data in all columns
E . Data in all columns
当我使用:df3 = pd.concat([df1b, df2b], axis=1)
concat时,结果是一个维度为(4800,4)的文件,其中concat没有识别出两个文件之间实际上有很大一部分索引是相同的。有人知道为什么会发生这种情况吗
df = pd.read_csv('XX.csv')
df1 = df[['Gene', 'Young_Q1', 'Young_Q2', 'Young_Q3']]
df1a = df1.to_csv('Young_Q.csv', index=False)
df1b = pd.read_csv('Young_Q.csv', index_col='Gene', encoding='utf-8')
df2 = df[['OldQ_Gene', 'Old_Q1', 'Old_Q2', 'Old_Q3']]
df2a = df2.to_csv('Old_Q.csv', index=False)
df2b = pd.read_csv('Old_Q.csv', index_col='OldQ_Gene', encoding='utf-8')
df3 = pd.concat([df1b, df2b], axis=1)
结果示例如下所示:
Df3型
A . NaN, NaN, NaN, Data, Data, Data
B . NaN, NaN, NaN, Data, Data, Data
D . NaN, NaN, NaN, Data, Data, Data
E . NaN, NaN, NaN, Data, Data, Data
A . Data, Data, Data, NaN, NaN, NaN
B . Data, Data, Data, NaN, NaN, NaN
C . Data, Data, Data, NaN, NaN, NaN
E . Data, Data, Data, NaN, NaN, NaN
您可以使用合并:
您只需要将
Gene
看作普通列更多信息请参见: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html
相关问题 更多 >
编程相关推荐