#python #python-3.x #pandas
#python #python-3.x #pandas
Вопрос:
У меня есть фрейм данных pandas, где в первой строке у меня есть несколько записей, но во 2-й строке есть повторяющиеся столбцы.
A B. C
Date High Low High Low. High Low
2000-07-03 19.796038 19.202157 9.261945 9.011265 19.261945 9.011265
2000-07-05 19.845534 18.845534 9.81945 8.011 29.81945 8.011
Я хочу выяснить, какие A, B или C имеют наибольшую разницу в высоком и низком значениях вместе с датой.
Desired output:
C
Date High Low Difference
2000-07-05 29.81945 8.011. 21.808
что лучше pivot_table, group_by, melt?
Ответ №1:
Мы можем сделать stack
, тогда idxmax
s=df.stack(level=0)
idx=(s['High']-s['Low']).idxmax()
df.loc[[idx[0]],[idx[1]]]
Out[268]:
C
High Low
Date
2000-07-05 29.81945 8.011