获取Pandas DataFrame长度报错:TypeError: 'float' object is not callable
解决方法
先看报错信息里的代码是len(xrz) // 2,但你前面定义的DataFrame变量是df,优先确认变量名是否一致:
- 如果
xrz不是你的DataFrame,而是一个浮点数变量,直接改成len(df) // 2即可。
如果变量名没问题,那大概率是你不小心覆盖了内置的len函数——比如之前写过类似len = 10.5或者len = df['某列'].mean()这类代码,把len从内置函数变成了浮点数,导致调用时触发错误。
验证方法
在报错代码前执行以下命令,确认len的类型:
print(len)
如果输出是浮点数(比如25.0),就说明len确实被覆盖了。
修复方式
- 最简单的方案:重启Python内核/运行环境,重置所有内置函数。
- 手动恢复内置
len函数:
import builtins len = builtins.len
替代写法
获取DataFrame行数还可以用更明确的方式,避免命名冲突:
# 获取总行数 row_count = df.shape[0] # 或者 row_count = len(df.index) half_df = row_count // 2
内容的提问来源于stack exchange,提问作者Niko
相关产品推荐
相关产品推荐

