Python 将数据帧转换为字典
我有一个CSV格式的数据帧,如图所示 我想把它转换成一个字典,这样行是键,值也是对应的行 为此,我使用了以下代码:-Python 将数据帧转换为字典,python,pandas,dataframe,dictionary,Python,Pandas,Dataframe,Dictionary,我有一个CSV格式的数据帧,如图所示 我想把它转换成一个字典,这样行是键,值也是对应的行 为此,我使用了以下代码:- import pandas as pd from ast import literal_eval match_pairs = pd.read_csv('data_d.csv',usecols=['Object','Pairs']) match_pairs['Pairs'] = match_pairs['Pairs'].apply(literal_eval) dict = ma
import pandas as pd
from ast import literal_eval
match_pairs = pd.read_csv('data_d.csv',usecols=['Object','Pairs'])
match_pairs['Pairs'] = match_pairs['Pairs'].apply(literal_eval)
dict = match_pairs.transpose()
dict.to_dict()
print(dict['a'])
当我导入match_pairs中的数据帧时,pairs列作为字符串而不是列表导入。因此,我使用literal\u eval()
来获取数据结构
此外,.to_dict()
func将列转换为键。因此,我转换了数据,然后使用.to_dict()
函数
但不幸的是,我无法获得所需的键值对。我想要打印(dict['a']),我得到的值是
['d','e','f']
请帮我解决这个问题。首先不要使用
dict
作为变量名,因为builten是python代码词
创建系列
,然后使用:
或者将zip
与dict
一起使用:
#reset builtin if used like variable
#import builtins
#dict = builtins.dict
d = dict(zip(match_pairs['Object'], match_pairs['Pairs']))
非常感谢你的帮助。成功了。我被困在里面很长时间了。
#reset builtin if used like variable
#import builtins
#dict = builtins.dict
d = dict(zip(match_pairs['Object'], match_pairs['Pairs']))