Как перебрать столбец DataFrame и обновить значения столбца - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь перебрать столбец ab c и обновить его значение, но я получаю ошибки. Любая помощь приветствуется.

somedata.csv:
                    ABC
0               0.00094
1               0.00094
2               0.00094
3               0.00094
...
4999            0.00094


data = pd.read_csv("somedata.csv")
abc = pd.DataFrame(data, columns = ['ABC'])

for column in abc:
    value = (abc - min(abc)) / (max(abc) - min(abc))
    abc = value

Ошибка: numpy .core._exceptions.UFuncTypeError: ufun c 'subtract' не содержит al oop с типами соответствия сигнатуры (dtype ('dtype ('

строка 72, в
значение = (ab c - мин (ab c)) / (макс (ab c) - мин (ab c))

1 Ответ

1 голос
/ 23 января 2020

Так что несколько вещей не так. В случае "ab c", fini sh ")". Строка value = (abc - min(abc)) / (max(abc) - min(abc)) очень запутанная. ab c у вас есть столбец данных, поэтому я предполагаю, что вы хотели бы обновить каждое значение строки этого столбца под названием «AB C».

Чтобы получить значение = (ThisRowValue - мин. (Ab c)) / (макс. (Ab c) - мин. (Ab c)), используйте макс. Панды и мин.

Я бы написал это

#Separate out the column (assuming multiple columns)
abc = df['ABC']
abc = list(map(float, abc)) #Edited to turn it into float values

list2 = [] # Empty list for storage
for this_row_value in abc: #Iterate for each value in column 'ABC'
    value = (this_row_value - abc.min()) / (abc.max() - abc.min()) #Utilize Panda's Min/Max
    list2.append(value)

#Set updated values to the column values. You can also use Pandas Update.
df['ABC'] = list2

Где df это просто объект dataframe.

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