Ошибка значения: недопустимый литерал для long () с основанием 10: ‘$ 10592956’

#python #pandas #runtime-error

#python #pandas #ошибка во время выполнения

Вопрос:

Ниже приведен фрагмент кода. Я пытаюсь добавить $ перед значением в столбце pandas DF. Тип этого столбца numpy.int64 .

Я получаю следующую ошибку:

Ошибка значения: недопустимый литерал для long () с основанием 10: ‘$ 10592956’

Пробовал преобразовать этот столбец в str и numpy.float64 , но ни один из них не работает.

 for i in range(len(adv_new["Col1"][yesterday_date])):
  adv_new["Col1"][yesterday_date][i] = "$"   str(adv_new["Col1"][yesterday_date][i])
  

Комментарии:

1. Похоже, что ваша основная проблема несколько иная: нет особых причин добавлять «$» перед числом; вы потеряете все удобства, такие как вычисление суммы или среднего значения. Вместо этого вы, вероятно, хотели бы показывать только $ при печати или ином выводе фрейма данных. Но, пожалуйста, поправьте меня, если это неверное предположение.

2. из str(adv_new["Col1"][yesterday_date][i]) похоже, что adv_new["Col1"][yesterday_date][i] это не строковый тип данных, но затем вы присваиваете ему строку «$» …., что является ошибкой. Я согласен с @9769953, что вам следует переработать, а не исправлять код.

3. @9769953: Итак, единственная цель — добавить это значение int со знаком «$» в Excel. Все вычисления были выполнены ранее

4. Разве вы не можете изменить форматирование ячеек в Excel, чтобы перед цифрами был знак доллара?