Итак, вот моя проблема, у меня есть такой тип данных:
Name | Energy | Angle
a | 0.1 | 0
a | 0.2 | 30
a | 0.3 | 92
a | 0.3 | 120
a | 0.4 | 140
a | 0.5 | 170
b | 0.2 | 0
b | 0.5 | 50
b | 0.8 | 70
b | 1.1 | 130
b | 1.4 | 180
c | 0.1 | 0
c | 0.3 | 30
c | 0.5 | 80
c | 0.7 | 140
c | 0.9 | 180
Что мне нужно сделать, это добавить столбец амплитуд каждого «Имени», начиная с 0 до 180 столбец «Угол» следующим образом:
Name | Energy | Angle | Amplitude
a | 0.1 | 0 | 0.4
a | 0.2 | 30 | 0.4
a | 0.3 | 92 | 0.4
a | 0.3 | 120 | 0.4
a | 0.4 | 140 | 0.4
a | 0.5 | 170 | 0.4
b | 0.2 | 0 | 1.3
b | 0.5 | 50 | 1.3
b | 0.8 | 70 | 1.3
b | 1.1 | 130 | 1.3
b | 1.4 | 180 | 1.3
c | 0.1 | 0 | 0.8
c | 0.3 | 30 | 0.8
c | 0.5 | 80 | 0.8
c | 0.7 | 140 | 0.8
c | 0.9 | 180 | 0.8
После, я должен сгруппировать все «Имена», которые имеют значение амплитуды меньше, чем значение отсечки, в этом случае 1,0, и переименовать их как « zz ", суммируя все энергии для каждого угла:
Name | Energy | Angle
zz | 0.2 | 0
zz | 0.4 | 30
zz | 0.5 | 80
zz | 0.3 | 92
zz | 0.3 | 120
zz | 1.3 | 140
zz | 0.5 | 170
zz | 0.9 | 180
b | 0.2 | 0
b | 0.5 | 50
b | 0.8 | 70
b | 1.1 | 130
b | 1.4 | 180
Проблема, с которой я сталкиваюсь, состоит в том, что кадр данных намного больше, чем в этом примере (примерно 30 имен, каждое из которых различается, сколько входов у них есть, от 2 до 19 входов, поскольку углы являются случайными).
Редактировать: В основном переформулировал весь текст, извините за умение спрашивать noobi sh, я новичок как в python, так и на форуме.
Спасибо!