私はと呼ばれるデータフレームを505個のストックから構成し、各列の合計週52行の割合を変更しました。私は最後の週次の行の最大値で株式を見つけたいと思ったので、私がやった :データフレームのPythonで最大のソート値が機能しない
import pandas as pd
st1 = pd.DataFrame({"FIN_MAX": stock1.tail(1).max().sort_values(ascending=False)})
上記のコードは、もともと働いていたが、今ではエラーがスローされます。私はsort_values(ascending=False)
を落としたが、その後値が高いものから順に順番に配置されていない場合
TypeError: '>' not supported between instances of 'float' and 'str'
私が得ることができる最も近いです。
st1 = pd.DataFrame({"FIN_MAX":stock1.tail(1).max()})
また、上記と同じエラーが発生する次のコードも試しました。
st1.sort_values(["FIN_MAX"], ascending=False)
私はJupyterノートブックでPython 3.6.1を使用しています。 ヘルプや代替案は大変ありがとうございます。
個々のcsvファイルからすべてのストックを連結したときに、Unnamed: 0
という名前の列が作成されたためにエラーが発生したようです。 私がdel stock1["Unnamed: 0"]
をやった後、それは問題を解決したようです。
簡単な提案、piRSquaredありがとう。したがって 'stock1.iloc [-1]'は 'stock1.tail(1).max()'に相当します。残念ながら、idxmax()は 'ValueError'を返し、' nlargest(1) 'はTypeErrorを返します。 :/ – MichaelRSF
エラーが見つかりました。無名:0列が私が削除する必要が生成されたように見えます。それは今、働いているようだ、piRS! – MichaelRSF
'stock1.iloc [-1]'は 'stock1.tail(1)'と同じではありません。前者は、カラム値をインデックスとして 'pd.Series'オブジェクトを返します。後者は、最後の行である単一の行を持つ 'pd.DataFrame'を返します。 'pd.Series'で' max'または 'idxmax'を呼び出すと、最大値に関連付けられたインデックス値(以前は' stock1'の列)が返されます。また、 'nlargest'は' pd.Series'と 'pd.DataFrame'のコンテキストでは異なった挙動を示し、' TypeError'のソースです。 – piRSquared