パンダのデータフレームの各行について、最小値を持つセル/セルを見つけて、その行と列の名前を別々に返したいと思います。また、その最小値が1未満かどうかを確認したいと思います。Pythonのパンダの列と行の名前を取得する
例えば、上記データフレームの
NAMES, Oil, Fat, Salt
Salad, 0.2, 0.1, 0.8
Bread, 0.1, 0.9, 0.1
Rice, 1, 1, 1
出力は次のように
['Salad', 'Fat']
[['Bread', 'Oil'], ['Bread', 'Salt']]
<No output because the minimum is not less than 1>
私の現在のコードが見える、
pairs = df.set_index('NAMES').apply(lambda row: [[row.name, l] for l in row[row == row.min()].index], axis=1).values.tolist()
は私を助けてください。
感謝を削除する必要がある場合しかし、私は任意の空のリストを返す必要はありません。私はそれがこのようなものになりたい。 「サラダ」、「ファット」]、[パン '、'オイル ']、[パン'、 'ソルト']]]。どうすればいいのか教えてください:) –
うーん、[this](https://stackoverflow.com/q/4842956/2901002)の解決策が見つかりました。 – jezrael
偉大な:)ありがとうたくさん! –