gpt4 book ai didi

python - 最大排序值不适用于数据框Python

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

我有一个名为 stock1 的数据框,由 505 只股票组成,每列总共 52 行每周的百分比变化。我想找到最后一周行中值(value)最高的股票,所以我这样做了:

 import pandas as pd

st1 = pd.DataFrame({"FIN_MAX": stock1.tail(1).max().sort_values(ascending=False)})

上面的代码原本可以工作,但现在抛出错误。

 TypeError: '>' not supported between instances of 'float' and 'str'

我能得到的最接近的是如果我删除sort_values(ascending=False),但值不会按从最高到最低的顺序排列。

 st1 = pd.DataFrame({"FIN_MAX":stock1.tail(1).max()})

我还尝试了以下代码,它也给出了与上面相同的错误。

 st1.sort_values(["FIN_MAX"], ascending=False)

我在 Jupyter Notebook 上使用 Python 3.6.1。任何帮助或替代方案将不胜感激。

当我连接各个 csv 文件中的所有股票时,由于创建了一个名为 Unnamed: 0 的列,错误似乎仍然存在。一旦我执行del stock1["Unnamed: 0"],似乎就解决了问题。

最佳答案

IIUC:

获取值(value)最大的股票

stock1.iloc[-1].idxmax()

获取值(value)和值(value)最大的股票

stock1.iloc[-1].nlargest(1)

获取值(value)最大的n只股票及其值(value)

n = 5
stock1.iloc[-1].nlargest(n)

关于python - 最大排序值不适用于数据框Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872596/

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