「ダイナミック」な列のPandasデータフレームがあります。これは、さまざまなデータベースからデータを取得するまでは列名がわからないことを意味します。サブセットパンダのデータフレームの値に基づいて
データフレームは、単一の列であり、このようなものになります「89」は、データフレーム内の特定の行であることを
Make Date Red Blue Green Black Yellow Pink Silver
89 BMW 2016-10-28 300.0 240.0 2.0 500.0 1.0 1.0 750.0
注意。
私は、次のコードを持っている:
cars_bar_plot = df_cars.loc[(df_cars.Make == 'BMW') & (df_cars.Date == as_of_date)]
cars_bar_plot = cars_bar_plot.replace(0, value=np.nan)
cars_bar_plot = cars_bar_plot.dropna(axis=1, how='all')
これは、を上記単一行のデータフレームを作成するために私を助けることに正常に動作しますが、各列の値のいくつかは非常に小さい(例えば1.0と2.0)、他の値と比較して、私はMatplotlibで作成している横棒グラフを歪ませています。私はいくつかの最小閾値(例えば3.0)より小さい数を取り除きたいと思っています。
どうすればいいですか?
ありがとうございます!
UPDATE 1
次のコード行は役立ちますが、はない完全に問題を解決しません。
cars_bar_plot = cars_bar_plot.loc[:, (cars_bar_plot >= 3.0).any(axis=0)]
問題は、排除意図しない列だということです。たとえば、元のデータフレームを参照すると、このコードを変更して、3.未満の値の列を「ブラック」列の右側に削除するだけです(実際には「グリーン」欄の値は2.0)?
ありがとうございます!
あなたは、列や行を取り除きたいですか?別々の棒グラフに各列をプロットしてみてください。 – amyrit
@amyrit - 私は列を取り除きたいです(なぜなら、私は先頭に1行しかないからです)。たとえば、データフレームに約30列あります。しかし、列の中には無視できる値しかないので、それらを取り除き、特定のしきい値以上の値しか持たないようにしたい。 – equanimity