我正在努力将以下表格简单地附加到一个表格中:chr pos gene1 100 A2 150 Bchr pos gene1 100 A2 150 F4 800 D我希望决赛桌看起来像:chr pos gene chr pos gene1 100 A 1 100 A2 150 B 2 150 F 4 800 D这些表具有相同的列数,但具有不同的行数。如果需要,可以使用NaN或0填充这些空白点。这只是为了更好地一次直观地比较几个表文件。不需要花哨的东西。我尝试从以下方法中使用熊猫:https://pandas.pydata.org/pandas-docs/stable/merging.html,但是这里的方法将具有相同索引的行组合在一起-我不需要。我还尝试仅使用csv.reader(两个如何使用python水平合并几个.csv文件?),但是我的输出为空,没有错误消息...不确定是否是因为行数不同。
1 回答

湖上湖
TA贡献2003条经验 获得超2个赞
尽管它使该数据框很难用于以后的处理,但是您可以使用进行此操作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。正如您在问题中所说,NaNs是可以接受的,因此您可以忽略它,而只需使用:
>>> 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
添加回答
举报
0/150
提交
取消