我有一个数据文件(两个标题行,索引列,制表符分隔)如下:
Hybridization REF TCGA-2V-A95S-01A-11R-A37G-13 TCGA-2V-A95S-01A-11R-A37G-13 TCGA-2V-A95S-01A-11R-A37G-13 TCGA-2Y-A9GS-01A-12R-A38M-13 TCGA-2Y-A9GS-01A-12R-A38M-13 TCGA-2Y-A9GS-01A-12R-A38M-13 TCGA-2Y-A9GT-01A-11R-A38M-13 TCGA-2Y-A9GT-01A-11R-A38M-13 TCGA-2Y-A9GT-01A-11R-A38M-13
miRNA_ID read_count reads_per_million_miRNA_mapped cross-mapped read_count reads_per_million_miRNA_mapped cross-mapped read_count reads_per_million_miRNA_mapped cross-mapped
hsa-let-7a-1 17377 4045.749542 N 47187 7077.368096 N 31765 8956.551210 N
hsa-let-7a-2 34913 8128.517796 N 94766 14213.530526 Y 64148 18087.355487 N
hsa-let-7a-3 17496 4073.455371 N 47683 7151.760928 N 31782 8961.344580 N
hsa-let-7b 33546 7810.249993 N 46089 6912.683963 N 64948 18312.925799 N
hsa-let-7c 1349 314.077006 N 12185 1827.573913 Y 14075 3968.627681 N
hsa-let-7d 1735 403.946335 N 1763 264.424523 N 1176 331.588359 N
或简化:
^{pr2}$我想将read_count
列的内容读入数据帧。使用df = pd.read_csv("file.csv", sep='\t', header=[0, 1], index_col=0, usecols=["read_count"])
会引发一个ValueError: cannot specify usecols when specifying a multi-index header
。在
有没有解决办法/合适的解决方案?我不想读整个文件,而实际上只有一部分是有用的。在
试试这个:
从这里复制:pandas multiindex - how to select second level when using columns?
我也尝试使用
pd.melt
,但没有得到一个好的解决方案。在请注意,如果文件是机器内存的一部分,那么读入它可能会导致问题。如果性能有问题,可以尝试设置
chunksize
。我相信,但不确定,当调用read_csv
时,pandas会将整个文件读入内存,即使文件的一部分存储在df
中。在相关问题 更多 >
编程相关推荐