gpt4 book ai didi

python - eval 中的命名不明确会导致 TypeError : unsupported expression type:

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:08 25 4
gpt4 key购买 nike

我有一个DataFrame带列minsec 。我想计算time列(以分钟为单位) pd.DataFrame.eval() .

df.eval('time = min + sec / 60')

但是它导致了错误:

TypeError: unsupported expression type: class 'function'

我猜是因为min被读取为计算最小值的函数,因此不引用名为 min 的列。有没有办法在不更改列名的情况下逃避这种行为?我知道我可以写df['time'] = df['min'] + df['sec'] / 60 ,但我特别想知道 eval()用法。

最佳答案

你是对的。这是因为它将名称之一视为函数(此处为最小值),因此出现错误。除此之外,如果不更改列名称,您实际上无法执行任何操作。您可以暂时更改列名称并稍后重命名,但我知道这不是您想要的,您也可以随时执行 df['time'] = df['min'] + df['sec']/60

我尝试了不同的方法,但没有其他方法。你已经回答了你的问题。另外,根据 eval 规则,字符串不能包含任何 Python 语句,只能包含 Python 表达式。

关于python - eval 中的命名不明确会导致 TypeError : unsupported expression type: <class 'function' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57157389/

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