python - 连接相同列数但行数不同的 55 个数据场,并用零填充缺失值
问题描述
假设我有 55 个文件,每个文件有 2 列,每个文件有不同的行数。我使用以下代码将它们连接起来。
path = r'/data/user/files'
files = os.listdir(path)
file_score = [os.path.join(path,i) for i in files if i.endswith('tped')]
score = [pd.read_csv(x, sep='\t',header=0) for x in file_score]
score = pd.concat(score,axis=1)
现在输出的score
数据帧如下所示,
gene file1 gene file2 gene file3 gene file4 gene file5
0 A1BG 5.014479 A1BG 6.268099 A1BG 5.014479 A1BG 5.014479 A1BG 5.014479 ... A1BG 6.268099 A1BG 5.014479 A1BG 5.014479 A1BG 5.014479 A1BG 5.014479
1 A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578 ... A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578 A1BG-AS1 7.082578
2 A1CF NaN A2M -2.851459 A2M -2.851459 A2M -2.851459 A2M -2.851459 ... A2M -2.604416 A1CF NaN A2M -2.851459 A2M -2.851459 A2M -2.851459
3 A2M -11.405835 A2ML1 -0.007012 A2ML1 -0.010518 A2ML1 -0.010518 A2ML1 -0.007012 ... A2ML1 -0.007012 A2M -2.851459 A2ML1 -0.010518 A2ML1 5.705464 A2ML1 -0.007012
4 A2ML1 0.569222 AAAS NaN AAAS -3.693289 A4GALT NaN AAAS NaN ... A3GALT2 1.174647 A2ML1 -0.007012 A3GALT2 -0.141380 A4GALT NaN A4GALT NaN
我需要的是gene
作为我的索引的file*
列和作为我最终数据框的列的列。genes
每个file
值的列都不同。但是,我需要它作为索引并file
用零填充每列的缺失值。我不确定如何实现这一目标。简单set_index
的对我不起作用。
任何建议表示赞赏。谢谢
解决方案
path = r'/data/user/files'
files = os.listdir(path)
file_score = [os.path.join(path,i) for i in files if i.endswith('tped')]
score = [pd.read_csv(x, sep='\t',header=0) for x in file_score]
score = pd.concat(score,axis=1)
# This should remove all duplicated columns
# Only columns with duplicated names, not values
score = score.loc[:,~score.columns.duplicated()]
# to set the index with the genes column
score.index = score['gene']
# to fill all N/As with 0
score = score.fillna(0)
推荐阅读
- activemq-artemis - ActiveMQ Artemis ActiveMQSecurityManager4 验证 ClientID/Subscription
- javascript - 如何使用 chrome 扩展控制 youtube 视频?
- javascript - ToDataURL 输出 Webp 图片
- python - 在没有 mathplotlib 缩放值的情况下以灰度显示像素
- android - Android AOSP 主构建失败!失败:out/soong/.primary/soong-ui-build/test/test.passed
- android - 插件对讲更新到最新版本的科尔多瓦错误在构建/运行
- prometheus - 使用来自其他变量选择的 grafana 变量依赖项(使用 prometheus)
- java - Spring Boot-Log4J2:有什么方法可以将 application.yml 中的值用于 JDBC appender?
- ios - 使用 evaluateJavascript 方法在 WKWebview 上设置本地图像
- installation - 当我尝试安装 Cypress 时显示错误