Добавление столбцов в pandas dataframe на основе функции - PullRequest
0 голосов
/ 27 августа 2018

В расширении пост , который, по моему мнению, не завершил свой квест с помощью команды shift. Это только перемещает столбец за строкой, и это не то, что нам нужно, если мы хотим отобразить весь столбец, например, на другой.

Я хочу отобразить несколько столбцов в новый и добавить его в качестве столбца к существующему фрейму данных.

Таким образом, ввод будет выглядеть примерно так:

DATE (MM/DD/YYYY)  HOUR-MST  AWS @ 50m [m/s]  AWS @ 80m [m/s]   AMPLC (2-80m)
1/1/2009  1  8.4262  9.1207  0.1354
1/1/2009  2  9.4238  9.9013  0.1312
1/1/2009  3  5.0494  5.3328  0.0892
1/1/2009  4  4.5928  4.8802  0.1014

Скажите, что имя фрейма данных wind, затем при использовании уравнения: (здесь AWS - скорость ветра)

wind['new_column1'] = wind['AWS @ 50m [m/s]']**3 * wind['AMPLC (2-80m)']
wind['new_column2'] = wind['AWS @ 80m [m/s]']**3 * wind['AMPLC (2-80m)']

И результат будет:

DATE (MM/DD/YYYY)  HOUR-MST  AWS @ 50m [m/s]  AWS @ 80m [m/s]   AMPLC (2-80m)   new_column1   new_column2
1/1/2009  1  8.4262  9.1207  0.1354  xxx1  xxx2
1/1/2009  2  9.4238  9.9013  0.1312  xxx1  xxx2 
1/1/2009  3  5.0494  5.3328  0.0892  xxx1  xxx2
1/1/2009  4  4.5928  4.8802  0.1014  xxx1  xxx2

Тогда я бы также использовал радиус в качестве другого параметра - поэтому я бы предпочел использовать цикл for, чтобы выбрать диапазон чисел на основе np.arange(10, 20, 2) и умножить их вместе на коэффициент.

Что-то из моей идеи будет следующим:

count = 0
for rad in range(rad_range):
    wind['new_column1'+count] = wind['AWS @ 50m [m/s]']**3 * wind['AMPLC (2-80m)'] * rad**2
    count += 1 

Могу ли я получить предложение, пожалуйста? Заранее спасибо!

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