首页 > 解决方案 > 我已经尝试了几乎所有东西,将 Python 数据转换到一个范围内,但不断得到 *Int object not callable*

问题描述

我正在尝试将一列转换为 1 到 100 的范围,但是我不断收到“ int object is not callable ”

df['r'] = df['r']. apply (lambda x : (100 - 1)((x-min(df['r']))/((max(df['r'])) - min(df['r'])) + 1

退货 'int' object not callable

标签: pythonpandastransformation

解决方案


在 Python 中,后跟括号的值表示函数调用。

所以,当 Python 看到这个时:

(100 - 1)((x-min(df['r']))

...它简化为:

99((x-min(df['r']))

...并且它认为您正在尝试99(...)用作函数调用。

在常见的数学符号中,(a)(b)表示“a 乘以 b”,但 Python 不使用该符号。您需要一个显式*的乘法符号:

(100 - 1)*((x-min(df['r']))

推荐阅读