Автоматический c анализ по нескольким столбцам в pandas - PullRequest
0 голосов
/ 03 апреля 2020

Согласно следующему коду, используя panda, я делаю некоторый анализ по одному из столбцов ( HR ):

aa = New_Data['index'].tolist()
aa = [0] + aa
avg = []
for i in range(1,len(aa)):
   ** val = raw_data.loc[(raw_data['index'] >= aa[i-1]) & (raw_data['index'] <= aa[i])['HR'].diff().mean()
    avg.append(val)
New_Data['slope'] = avg

В конце дня это будет добавьте новый столбец к данным («Наклон»). Это нормально и работает. Проблема в том, что я хочу повторить строку (которая указана **) для всех остальных столбцов (не только для HR). Другими словами:

** val = raw_data.loc[(raw_data['index'] >= aa[i-1]) & (raw_data['index'] <= aa[i])['**another column**'].diff().mean()

avg.append(val)
New_Data['slope'] = avg

Есть ли способ сделать это автоматически? У меня есть около 100 столбцов, так что делать вручную не заманчиво. Спасибо за вашу помощь

1 Ответ

1 голос
/ 03 апреля 2020

Не уверен в чистом способе pandas, но вы можете просто написать на внешнем l oop -

aa = New_Data['index'].tolist()
aa = [0] + aa
avg = []
for col in df.columns:
    for i in range(1,len(aa)):
       ** val = raw_data.loc[(raw_data['index'] >= aa[i-1]) & (raw_data['index'] <= aa[i])[col].diff().mean()
    avg.append(val)
New_Data['slope'] = avg

В строке

for col in df.columns 

, которую вы можете изменить на используйте только нужные вам столбцы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...