数据框在下面
flag
{'a':True,'b':False}
{'a':False,'b':True}
代码
s = [x for x in df['flag']]
for i in s:
print (i)
print (type(i))
输出低于
{'a':True,'b':False}
<class 'str'>
{'a':False,'b':True}
<class 'str'>
我需要将数据类型打印为<class 'dict'>
答案 0 :(得分:1)
使用eval(i)
或
import ast
ast.literal_eval(i)
在您的for循环中
答案 1 :(得分:0)
在创建数据框时,字典可能是作为字符串而不是字典传递的,这就是为什么要使用类型<class 'str'>
而不是<class 'dict'>
的原因。
df = pd.DataFrame(data={'flag':["{'a':True,'b':False}","{'a':False,'b':True}"]})
给予:
{'a':True,'b':False}
<class 'str'>
{'a':False,'b':True}
<class 'str'>
还有这个
df = pd.DataFrame(data={'flag':[{'a':True,'b':False},{'a':False,'b':True}]})
给予:
{'a': True, 'b': False}
<class 'dict'>
{'a': False, 'b': True}
<class 'dict'>