python - 合并多个文件,将文件名作为列名
问题描述
我在一个目录中有多个文件。我想以一种将行合并在一起的方式合并它们,并将文件名保留为列标题。例如,file1 看起来像
ENSG1 12
ENSG2 13
ENSG3 14
file2 看起来像
ENSG1 13
ENSG2 14
ENSG4 15
我期待着像这样的输出
file1 file2
ENSG1 12 13
ENSG2 13 14
ENSG3 14 0/na
ENSG4 0/na 15
你知道怎么做吗?感谢您的时间!
解决方案
这是一种使用方法concat
:
dfs = []
for f in ["file1", "file2"]: # iterate the relevant files here
df = pd.read_csv(f, header=None, sep = "\s+", index_col=0)
df.columns = [f]
dfs.append(df)
res = pd.concat(dfs, axis=1)
输出它:
file1 file2
ENSG1 12.0 13.0
ENSG2 13.0 14.0
ENSG3 14.0 NaN
ENSG4 NaN 15.0
推荐阅读
- qt - Qt6 迁移 - UIC 生成的代码无法编译(连接插槽) - 已更新
- python - 如何在熊猫中沿垂直方向部分合并单元格
- mysql - 在asp和mysql中登录并创建会话后,如何更改导航栏?
- javascript - 如何在 Node.JS 中使用多个 SQL Server 查询
- javascript - Express how to pass .json into res.render
- javascript - 在这两种方法中,保持响应直到数据获取循环在 nodejs 中结束的最佳方法是什么?
- python - 在使用类线性回归时获得 nan
- python - Python Altair 如何在不更改轴刻度的情况下对直方图数据进行分箱
- python - 我能做些什么来修复我在 python 中工作的这个 GPA 计算器
- c# - 在某些 API 端点上转发 Mailgun 操作