[解決済み】Pandas - 関数のドロップエラー(ラベルが軸に含まれていない)【重複】。
質問
以下のようなCSVファイルがあります。
index,Avg,Min,Max
Build1,56.19,39.123,60.1039
Build2,57.11,40.102,60.2
Build3,55.1134,35.129404123,60.20121
私の質問に基づくと こちら この短いスクリプトで、このcsvにいくつかの関連情報を追加することができます。
import pandas as pd
df = pd.read_csv('newdata.csv')
print(df)
df_out = pd.concat([df.set_index('index'),df.set_index('index').agg(['max','min','mean'])]).rename(index={'max':'Max','min':'Min','mean':'Average'}).reset_index()
with open('newdata.csv', 'w') as f:
df_out.to_csv(f,index=False)
この結果、このようなCSVができあがります。
index,Avg,Min,Max
Build1,56.19,39.123,60.1039
Build2,57.11,40.102,60.2
Build3,55.1134,35.129404123,60.20121
Max,57.11,40.102,60.20121
Min,55.1134,35.129404123,60.1039
Average,56.1378,38.1181347077,60.16837
このcsvを更新できるようにしたいのですが。例えば、新しいビルド(例えばbuild4)を実行した場合、それを追加して、Max、Min、Averageの行をやり直すことができます。私の考えでは、Max、Min、Averageのラベルを持つ行を削除し、新しい行を追加し、統計情報をやり直します。必要なコードは次のような単純なものだと思います(Maxだけですが、MinとAverageの行も必要です)。
df = pd.read_csv('newdata.csv')
df = df.drop('Max')
しかし、この場合、常に ValueError: ラベル ['Max'] が軸に含まれていません。
csvファイルはsublime textで作成しましたが、これも問題の一部でしょうか?この件に関する他のSOの投稿を読みましたが、どれも私の問題の解決にはならないようです。
これが許されるかどうかわからないが、以下は 私のcsvへのダウンロードリンク ファイル自体に何か問題がある場合に備えて。
2つの回答が考えられるので、大丈夫だと思います。
- このドロップの問題を解決するには
- ビルドを追加して統計情報を更新する方法(ドロップしない方法)
解決方法は?
デフォルトはaxis = 0で、行と列はaxis = 1となります。
というわけで、これがあなたのコードになります。
df = df.drop('Max',axis=1)
を編集します。 このコードを見ていると
df = pd.read_csv('newdata.csv') df = df.drop('Max')
使用したコードでは、csv ファイルの最初の列がデータフレームのインデックスを含むことが指定されていません。そのため、pandasはインデックスをオンザフライで作成します。このインデックスは純粋に数値的なものです。ですから、あなたのインデックスは "Max" を含んでいません。
を試してみてください。
df = pd.read_csv("newdata.csv",index_col=0)
df = df.drop("Max",axis=0)
これは、pandasがcsvファイルの最初のカラムをインデックスとして使用することを強制します。これでコードが動作するようになるはずです。
関連
-
python string splicing.join()とsplitting.split()の説明
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] PandasのデータフレームをSQLのように'in'と'not in'でフィルタリングする方法
-
[解決済み] Python Pandas データをトークン化するエラー
-
[解決済み] pandasのaxisとはどういう意味ですか?
-
[解決済み】Pandasのデータフレームから行のリストをドロップする方法は?
-
[解決済み】pandasのDataFrameにヘッダー行を追加する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python implement mysql add delete check change サンプルコード
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Pythonの@decoratorsについてまとめてみました。
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み] Pandas DataFrameからカラムを削除する