我有一个包含许多 DNA 序列的文本文件,每个序列都在一个单独的行上,有 20 个碱基对。我想将文件读入数据框,每个基数作为其自己的列,而不使用 for 循环或其他需要遍历整个文件的东西,因为文件非常大。
我试过使用“”作为分隔符,但它只会导致整行被处理成一列。我也尝试过使用“。”和 "\w"两者都没有按照我的意愿去做。
例如,对于具有以下内容的文件:
ACGT
CGTA
GTAC
TACG
数据框应该是这样的:
1 2 3 4
1 A C G T
2 C G T A
3 G T A C
4 T A C G
最佳答案
您可以将其作为一列阅读并稍后拆分
# csv
# ATGC
# CTAG
df = pd.read_csv(header=None)
# df
# 0
# 0 ATGC
# 1 CTAG
df[0].str.split('', expand=True)
输出:
0 1 2 3 4 5
0 A T G X
1 G T A X
这意味着您有两个额外的列,一前一后。但是您可以轻松地删除它们,例如:
df[0].str.split('', expand=True).iloc[:,1:-1]
给出:
1 2 3 4
0 A T G C
1 C T A G
关于python - 有什么方法可以不使用任何分隔符来写入 Pandas 数据框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56501113/