我有一个包含两列的数据框,我基本上想做的是制作一个字典,其中列名作为键,该列的连接行作为值。
这是一个包含 2 列的示例数据框
X1KS_AH353KBBXX_8_Aspen_F07_X5 X2861_AH353KBBXX_8_Aspen_D08_X5
G G
N C
G G
M C
G G
A A
我能够为 1 列执行此操作,但如何为两列执行此操作。我试过循环以及制作一个函数然后循环它们但是它们都不起作用
import re
file_in = open("HapMap.filtered.hmp_test.txt")
result = {}
for line in file_in:
line = line.strip().split()
line2 = line[1]
if re.search("Aspen", line2):
gene = line2
result[gene] = ""
else:
result[gene]+=line2
请您参考如下方法:
据我了解,您想将数据框制作成字典,以列名作为键,将该列中的值显示为列表?
如果是这样,我建议使用 pandas 模块。
import pandas as pd
df = pd.read_csv('data.csv')#a csv file with data just how you presented it above.
dataDict = pd.DataFrame.to_dict(df, orient='list')#turns the dataframe into a dictionary, with the values presented as a list for each column.
print (dataDict)
这是输出:
{'X2861_AH353KBBXX_8_Aspen_D08_X5': ['G', 'C', 'G', 'C', 'G', 'A'], 'X1KS_AH353KBBXX_8_Aspen_F07_X5': ['G', 'N', 'G', 'M', 'G', 'A']}
