gpt4 book ai didi

python - 使用 pd.eval() 方法获取 NotImplementedError

转载 作者:行者123 更新时间:2023-12-05 06:01:26 25 4
gpt4 key购买 nike

示例数据:

#importing libraries
import pandas as pd
from ast import literal_eval

#sample data
data=['{"level":0,"side":"Ask","price":"13745.75000","volume":"2"}',
'{"level":1,"side":"Ask","price":"13745.50000","volume":"5"}',
'{"level":2,"side":"Ask","price":"13745.25000","volume":"6"}',
'{"level":3,"side":"Ask","price":"13745.00000","volume":"15"}',
'{"level":4,"side":"Ask","price":"13744.75000","volume":"4"}']

ds=pd.Series(data)

所以现在我想将字符串值转换回它的原始形式(字典)所以为此我使用了:

ds.apply(lambda x:eval(x))    #I know using eval is a bad practice
#OR
ds.apply(lambda x:literal_eval(x))

上面的代码(两种方法)给出了我预期的输出。

但是如果我使用 pd.eval() 方法:

ds.apply(pd.eval)
#OR
ds.apply(lambda x:pd.eval(x))

它给我NotImplementedError:

NotImplementedError: 'Dict' nodes are not implemented

我的问题是:

如何使用 pd.eval() 方法来执行此操作?

最佳答案

我认为pandas.eval在 pandas 中主要用于算术运算,因此不能用于解析 string 字典的 repr,如 ast.literal_eval

更多信息请查看this

关于python - 使用 pd.eval() 方法获取 NotImplementedError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67190520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com