Python 如何从pandas中的字典列中提取值?
我有一个数据框架,在每列{'value':2343}中包含字典。我试图去掉字典,并将单元格设置为dataframe中所有字典的值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
将熊猫作为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']