python构建矩阵_python-使用pandas从多个文件构建矩阵

本文介绍如何使用Python的Pandas库从20个包含2列(transcript_id, value)的TSV文件中构建一个矩阵。通过遍历每个文件,设置'transcript_id'为索引,删除重复的'transcript_id',并将文件名设为列名,最终合并成一个矩阵。遇到的问题包括:没有正确设置'inplace=True'导致的错误和重复的'transcript_id'。解决方案是使用'df.set_index()'并结合'df[~df.index.duplicated(keep='first')]'删除重复行。" 8200947,1166173,MatLab 2011b实现ISO/IEC15693防碰撞协议,"['MatLab编程', 'RFID技术', '通信协议', '软件模拟', '嵌入式系统']
摘要由CSDN通过智能技术生成

在具有2列的目录中有多个文件(20),例如

transcript_id value

ENMUST001 2

ENMUST003 3

ENMUST004 5

每个文件中的行数不同我想做的就是以这种方式将所有20个文件合并到一个巨大的矩阵中

transcript_id value_file1 value_file2....value_file20

ENMUST001 2 3

ENMUST003 3 4

ENMUST004 5 0

从transcript_id列收集所有id,并从每个文件(文件名作为列名)中收集对应的值,如果没有值,则使用0.

我试图用熊猫来做到这一点,

import os

import glob

import pandas as pd

path = 'pathtofiles'

transFiles = glob.glob(path + "*.tsv")

df_files = []

for file in transFiles:

df = pd.read_csv(file, sep='\t')

df.set_index('transcript_id')

df_files.append(df)

df_combine = pd.concat(df_files, axis=1).fillna(0)

Error:

ValueError: No objects to concatenate

想知道非熊猫方式是否是更好的方法?任何伪代码表示赞赏.

编辑

找到输出

df.set_index('transcript_id')

print (df.shape

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值