最小値はパンダDataFrame
を検索したいと思います。 df.min().min()
に類似したデータフレーム全体(すべての値にわたって)の分が必要です。しかし、私はまた、この値が出現する場所のインデックスを知っている必要があります。パンダのデータフレームで最小値/最大値が発生するインデックス/インデックスのリストを返します
私は多くの異なるアプローチを試みた:
df.where(df == (df.min().min()))
、df.where(df == df.min().min()).notnull()
(source)とval_mask = df == df.min().min(); df[val_mask]
(source)。
これらはNaNのデータフレームを非min/boolean値で返しますが、これらの位置の(行、列)を取得する方法を見つけることはできません。
データフレームを最小/最大で検索し、オカレンスのすべての場所を含むリストを返すより洗練された方法がありますか?あなたの改訂更新に基づいて
import pandas as pd
keys = ['x', 'y', 'z']
vals = [[1,2,-1], [3,5,1], [4,2,3]]
data = dict(zip(keys,vals))
df = pd.DataFrame(data)
list_of_lowest = []
for column_name, column in df.iteritems():
if len(df[column == df.min().min()]) > 0:
print(column_name, column.where(column ==df.min().min()).dropna())
list_of_lowest.append([column_name, column.where(column ==df.min().min()).dropna()])
list_of_lowest
output: [['x', 2 -1.0
Name: x, dtype: float64]]
申し訳ありませんが、あなたはこのの出力をオンにした後、次のとおりです。 'df [df == df.max()。max()]。dropna(axis = 1、thresh = 1).dropna() 'をリストに追加しますか? – EdChum
@EdChumはい!ありがとう、これは私が後にしたものです。 thresh = 1引数が何をしているのか説明できますか?私はドキュメントを理解していません "多くの非NA値を必要とする"ということを意味します.. – Bprodz
関連[データフレームの最大値のインデックスを取得する](https://stackoverflow.com/questions/29504938/get-最大値 - データ - フレーム内の行 - 列 - インデックス) – smci