Skip to main content
 首页 » 编程设计

python之如何在python中将数据框的列和行添加为字典的键和值

2025年05月04日37lhb25

我有一个包含两列的数据框,我基本上想做的是制作一个字典,其中列名作为键,该列的连接行作为值。

这是一个包含 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']}