Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从pandas中的字典列中提取值?_Python_Pandas - Fatal编程技术网

Python 如何从pandas中的字典列中提取值?

Python 如何从pandas中的字典列中提取值?,python,pandas,Python,Pandas,我有一个数据框架,在每列{'value':2343}中包含字典。我试图去掉字典,并将单元格设置为dataframe中所有字典的值 将熊猫作为pd导入 df=pd.DataFrame([ {'node':'A','read':{'value':2343},'write':{'value':23}, {'node':'B','read':{'value':334},'write':{'value':233444}, ]) 我可以为一列设置单元格的值: df['read']=df['read'].a

我有一个数据框架,在每列{'value':2343}中包含字典。我试图去掉字典,并将单元格设置为dataframe中所有字典的值

将熊猫作为pd导入
df=pd.DataFrame([
{'node':'A','read':{'value':2343},'write':{'value':23},
{'node':'B','read':{'value':334},'write':{'value':233444},
])
我可以为一列设置单元格的值:

df['read']=df['read'].apply(λx:x['value'])
是否有一种方法可以在数据帧中的所有列上执行此操作?我应该迭代所有列吗

预期输出应为数据帧:

df=pd.DataFrame([
{'node':'A','read':2343','write':23},
{'node':'B','read':334','write':233444},
])
您可以使用:

您可以使用:

这个怎么样:

df.apply(lambda x:x.apply(lambda y:y['value']如果是instance(y,dict)或者y))
使用此功能,您无需担心选择哪些列是字典。

如何:

df.apply(lambda x:x.apply(lambda y:y['value']如果是instance(y,dict)或者y))

使用它,您不必担心选择哪些列是字典。

如果它们是字典,您可以使用下面的
.str
访问器

df['read'] = df['read'].str['value']
df['write'] = df['write'].str['value'] 

如果它们是字典,您可以像下面那样使用
.str
访问器

df['read'] = df['read'].str['value']
df['write'] = df['write'].str['value']