python - idxmax() 不适用于 pandas DataFrame
问题描述
我有一个在读取 csv 文件后创建的 pandas 数据框。
df = pd.DataFrame(ITC)
print(df.tail(5))
这打印
date open ... low close
488 22-May-2020 188.00 ... 184.60 186.35
489 26-May-2020 190.00 ... 187.80 191.70
490 27-May-2020 192.50 ... 186.90 192.15
491 28-May-2020 192.30 ... 189.00 190.65
492 29-May-2020 190.45 ... 189.00 197.35
我想从“关闭”列中找到最大值并且df.tail(5).close.max()
工作正常。最后我想打印最大值的索引 492 所以我尝试了以下
print(df.tail(5).close.idxmax())
但它给了我以下错误
类型错误:此 dtype 不允许归约操作“argmax”
关于如何去做的任何想法?
解决方案
我认为close
列不是数字,而是由字符串代表数字填充。
所以使用:
df.close = df.close.astype(float)
或者:
df.close = pd.to_numeric(df.close, errors='coerce')
推荐阅读
- javascript - 如何通过 JavaScript 程序下载 .csv 文件,然后将它们提供给 shell 脚本中的 Python 程序?
- java - 来自API的奇怪字符串的java char编码
- html - VS Code .HTML Angular 属性颜色
- java - 使用 Java Tensorflow API 时何时可以调用 Tensor.close()
- python - 使用 VBA 运行 Python 脚本
- javascript - 从网页允许用户将图像发布到时间轴(图像托管在 Facebook 上)
- email - 通过 Gmail 的电子邮件延迟
- c++ - 在模板类中为特定类型编写比较器函数
- amazon-web-services - 从 s3Object 获取 ARN 字符串
- python - 将大型 xml 文件拆分为 n 个组