Это не работает:
df[df['angle'] < 0]] += 360
Как мне решить эту проблему?Мне нужно иметь уже существующий фрейм данных pandas с отрицательными и положительными углами, обновлять до положительных углов полярных координат (от 0 до 360 градусов).
Имеют:
[-135, -90, -45, 180, 135, 90, 45, 0, etc... ] # polar 'angles' in degrees (with negatives)
Хочу:
[315, 270, 225, 180, 135, 90, 45, 0, etc... ] # polar 'angles' in degrees (positive only)
// Правка (для ответов): /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Эта строка, df[df['angle'] < 0]] += 360
, дает типошибка:
"Ошибка типа: не может работать 360 со значениями блока, должен быть str, а не с плавающей точкой."
Информация о фрейме данных 'angle':
"Имя: angle, dtype: in64,
Исходное решение "грубой силы", которое я использую:
for i in range(len(df['angle'])):
if df['angle'][i] < 0:
df['angle'][i] += 360
Это работает, но работает медленно и выдает предупреждение, которое затем говорит мне искать документацию по фрейму данныхиндексирование.