У меня есть pandas dataframe:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,40,size=(10,4)), columns=range(4), index = range(10))
df.head()
0 1 2 3
0 27 10 13 21
1 25 12 23 8
2 2 24 24 34
3 10 11 11 10
4 0 15 0 27
Я использую функцию idxmax
, чтобы получить столбцы, содержащие максимальное значение.
df_max = df.idxmax(1)
df_max.head()
0 0
1 0
2 3
3 1
4 3
Как я могу использоватьdf_max
вместе с df
, чтобы создать временной ряд значений, соответствующих максимальному значению в каждой строке df
? Это вывод, который я хочу:
0 27
1 25
2 34
3 11
4 27
5 37
6 35
7 32
8 20
9 38
Я знаю, что могу добиться этого, используя df.max(1)
, но я хочу знать, как получить такой же вывод, используя df_max
, так как я хочу бытьв состоянии применить df_max
к другим матрицам (не df
), которые имеют те же столбцы и индексы, что и df
(но не те же значения).