为python中的可视化目的附加表(不同的行号)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为python中的可视化目的附加表(不同的行号)相关的知识,希望对你有一定的参考价值。
我正在努力简单地将以下表格合并为一个:
chr pos gene
1 100 A
2 150 B
chr pos gene
1 100 A
2 150 F
4 800 D
我希望决赛桌看起来像:
chr pos gene chr pos gene
1 100 A 1 100 A
2 150 B 2 150 F
4 800 D
这些表具有相同的列数,但行数不同。如果需要,NaN或0可用于填充那些空白点。这只是为了让我们一次更好地直观地比较几个表文件。什么都不需要。
我尝试使用以下方法的pandas:https://pandas.pydata.org/pandas-docs/stable/merging.html但这里的方法将组合具有相同索引的行 - 我不需要。我也尝试使用csv.reader(How two merge several .csv files horizontally with python?),但我的输出是空的没有错误消息...不确定是否因为行数不同。
任何意见,将不胜感激。谢谢。
答案
虽然它使得这个数据帧很难用于以后的处理,但你可以使用pd.concat
来完成。如果您的数据框分别称为df1
和df2
:
>>> pd.concat((df1,df2), axis=1).replace(np.nan, '')
chr pos gene chr pos gene
0 1 100 A 1 100 A
1 2 150 B 2 150 F
2 4 800 D
replace
调用只是为了获得空白字符串而不是NaN
。正如你在问题中所说,NaN
s是可以接受的,所以你可以省略它,并且只使用:
>>> pd.concat((df1,df2), axis=1)
chr pos gene chr pos gene
0 1.0 100.0 A 1 100 A
1 2.0 150.0 B 2 150 F
2 NaN NaN NaN 4 800 D
以上是关于为python中的可视化目的附加表(不同的行号)的主要内容,如果未能解决你的问题,请参考以下文章
python将多个excel中的所有工作表附加到pandas数据框中的有效方法