gpt4 book ai didi

python - 如何读取pandas中的第一列和最后一列?

转载 作者:行者123 更新时间:2023-12-02 02:45:05 35 4
gpt4 key购买 nike

我正在寻找解决方案,但找不到任何有效的方法。

所以我有一个txt文件。它看起来像这样:

geneName1, sampleName1, Allel, allel2, 055, 33, tumor
geneName2, sampleName1, Allel, allel2, 321, 1, ntn
geneName3, sampleName1, Allel, allel2, 32, 44, ddd
geneName4, sampleName1, Allel, allel2, 123, 2, aga2
geneName1, sampleName2, Allel, allel2, 01255, 23, tumorD
geneName2, sampleName2, Allel, allel2, 33, 1, ad2
geneName1, sampleName3, Allel, allel2, yyu
geneName2, sampleName3, Allel, allel2, hhf
geneName4, sampleName3, Allel, allel2, vgv
geneName5, sampleName3, Allel, allel2, aga5

而且它没有标题。但为了清楚起见:

nameOfGene, sampleNumber, Allel1, Allel2, GS1, GS2, descr

正如你所看到的,有些行没有 GS1GS2 数据,但都有 descr。我需要的只是 [nameOfGene,sampleNumber,Allel1,Allel2,descr]

这就是问题所在。我尝试了网上的很多解决方案,但无法解决。

我尝试将 pd.read_csv 中的 usecols=[] 参数修改为 usecols=[0,1,2,3,4,:-1 ],但是 pandas 不理解类似的东西,我得到了 olny 语法错误。我尝试读取整个 df,但随后 desc 被读取为 GS1(如果 GS1 不在行中)。

我尝试了concat,但结果与上面相同,并且当行没有 GS1 时,desc 将加载为 GS1,并且 cols 旁边是 0 或 NaN。

也许我只是省略了一些东西,并且存在解决该问题的良好解决方案?

最佳答案

我假设您的文本文件名为 myfile.txt

import pandas as pd

my_file = open("myfile.txt")
text = [k.split()[0:4]+[k.split()[-1]] for k in my_file.readlines()]
my_file.close()
df= pd.DataFrame(text)
# next line is optional, just if you want named columns
df.columns = ['nameOfGene','sampleNumber','Allel1','Allel2','descr']
print(df)

nameOfGene sampleNumber Allel1 Allel2 descr
0 geneName1, sampleName1, Allel, allel2, tumor
1 geneName2, sampleName1, Allel, allel2, ntn
2 geneName3, sampleName1, Allel, allel2, ddd
3 geneName4, sampleName1, Allel, allel2, aga2
4 geneName1, sampleName2, Allel, allel2, tumorD
5 geneName2, sampleName2, Allel, allel2, ad2
6 geneName1, sampleName3, Allel, allel2, yyu
7 geneName2, sampleName3, Allel, allel2, hhf
8 geneName4, sampleName3, Allel, allel2, vgv
9 geneName5, sampleName3, Allel, allel2, aga5

关于python - 如何读取pandas中的第一列和最后一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62930387/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com