我有一个看起来像这样的数据框:
listing_id price_4 price_5 price_6 price_7 price_8 price_9 min_price
0 42729 173.0 170.0 158.0 140.0 150.0 150.0 140.0
1 23135 184.0 180.0 173.0 150.0 160.0 160.0 150.0
2 138216 141.0 141.0 141.0 148.0 101.0 100.0 100.0
3 164989 146.0 121.0 121.0 121.0 121.0 121.0 121.0
4 301034 144.0 141.0 72.0 53.0 53.0 100.0 53.0
您可以理解,min_price由每行的最小值填充。我想创建另一个将使用列名填充的列,该列的值最小。例如,对于第0行,该值应为price_7,对于第1行,该值也应为price_7,依此类推。如果可能的话,我很乐意在没有min_price列的情况下进行此操作(我就是为此创建的)。
谢谢!
用途:
df['new'] = df.filter(like='price').idxmin(axis=1)
或者如果希望所有列都没有第一个:
df['new'] = df.iloc[:, 1:].idxmin(axis=1)