Минимум или максимум ряда данных pandas между двумя строками

У меня есть кадр данных pandas. Предположим, что имена столбцов — «A», «B» и «C».

Как я могу рассчитать минимальное и/или максимальное значение данных в столбце «A», включая только строки от m до p? Где m ‹ p и m != 0 и p ‹ количество строк в кадре данных.

Что, если я сохраню имена столбцов в списке и хочу перебрать их в цикле и получить макс.

colNames = ['A', 'B', 'C']
for col in colNames:
     # get the max here

person DeeeeRoy    schedule 28.11.2017    source источник


Ответы (2)


Используя .iloc и loc, предполагая, что ваши m=1 и p=3

colNames=['A','B']
df.iloc[1:3,:].loc[:,colNames]
Out[767]: 
   A  B
1  2  2
2  3  1
df.iloc[1:3,:].loc[:,colNames].min() #get the min of each column
Out[768]: 
A    2
B    1
dtype: int64
df.iloc[1:3,:].loc[:,colNames].min(1) # get the min of each row
Out[769]: 
1    2
2    1
dtype: int64

Ввод данных

df = pd.DataFrame({"A": [1,2,3],
                   'B':[3,2,1],'C':[2,1,3]})
person BENY    schedule 28.11.2017

Как насчет этого?

df.A[m:p].min()
person John Zwinck    schedule 28.11.2017
comment
Спасибо за помощь! - person DeeeeRoy; 28.11.2017