最後の列の値が他の列の値と等しい列ヘッダーの場所を取得しようとしています。これは、新しい列として追加する必要があります。私がデータフレームを持っていると仮定します:
category color size max_value
a [2, 1] [1,1,1] [1,1,1] [1,1,1]
b [2,1] [1,1,1,1] [1,1,1,1] [2,1]
c [1] [3] [1,1,1] [3]
これは、ここで何らかの形で答えてきたが:戻り列名(S)パンダのデータフレーム内の特定の値のために、私が持っているリストを私の場合は数字ではなく、エラーを投げ続けて
結果は次のようになると思います。
category color size max_value matchedcols
a [2, 1] [1,1,1] [1,1,1] [1,1,1] color,size
b [2,1] [1,1,1,1] [1,1,1,1] [2,1] category
c [1] [3] [1,1,1] [3] color
ありがとう!
にドロップダウンした後、比較を行うことができます numpy
m = df.iloc[:, :-1].to_numpy() == df.max_value.to_numpy()[:, None]
#array([[False, True, True],
# [ True, False, False],
# [False, True, False]])
df['matched_cols'] = [', '.join(df.columns[:-1][x]) for x in m]
# category color size max_value matched_cols
#0 [2, 1] [1, 1, 1] [1, 1, 1] [1, 1, 1] color, size
#1 [2, 1] [1, 1, 1, 1] [1, 1, 1, 1] [2, 1] category
#2 [1] [3] [1, 1, 1] [3] color
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加