Ошибка значения: не удалось преобразовать строку в float: панданы python

#python #dataframe #object #floating-point #type-conversion

#питон #фрейм данных #объект #с плавающей запятой #преобразование типов

Вопрос:

Я пытаюсь преобразовать значение всех ячеек (кроме даты) в число с плавающей запятой, но я получаю и

ошибка: Можно использовать метод доступа .str только со строковыми значениями! введите описание изображения здесь

вот мой код:

 df['Market Cap_' str(coin)] = df['Market Cap_' str(coin)].str.replace(',','').str.replace('

вот результат работы df.info()

Фрейм данных'gt; Int64Index: 30 записей, от 1 до 30 столбцов данных (всего 5 столбцов):

Тип Dtype Столбца С Ненулевым Числом


0 Date_ETHEREUM 30 ненулевых datetime64[ns] 1 Рыночный капитал_этериум 30 ненулевых float64 2 объем_этериум 30 ненулевых float64 3 открытый_этериум 30 ненулевых float64 4 закрытый_этериум 30 ненулевых типов объектов dtypes: datetime64ns, float64(3), объект(1) использование памяти: 1,4 КБ вот изображение моего фрейма данных: введите описание изображения здесь Примечание: Монета-это просто строка, которая динамически добавляется из URL-адреса для каждой конкретной таблицы монет. Я был бы признателен за любую помощь или альтернативное решение.

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

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

2. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

3. но его преобразовали

4. Я обновил свой вопрос. Получение ошибки в последнем столбце,

Ответ №1:

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

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

1. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

2. В вашей правке теперь отображается предупреждение, а не ошибка, есть ли проблема с преобразованием?

3. обновил свой вопрос; Я смог преобразовать первые три, но получил ошибку на последнем, как показано в вопросе

4. @RoxanaSlj пожалуйста, добавьте полный вывод ошибок, включая номер строки и то, какая строка вышла из строя

, '').astype(float) df['Volume_' str(coin)] = df['Volume_' str(coin)].str.replace(',','').str.replace('вот результат работы df.info()

Фрейм данных'gt; Int64Index: 30 записей, от 1 до 30 столбцов данных (всего 5 столбцов):

Тип Dtype Столбца С Ненулевым Числом


0 Date_ETHEREUM 30 ненулевых datetime64[ns] 1 Рыночный капитал_этериум 30 ненулевых float64
2 объем_этериум 30 ненулевых float64
3 открытый_этериум 30 ненулевых float64
4 закрытый_этериум 30 ненулевых типов объектов
dtypes: datetime64ns, float64(3), объект(1) использование памяти: 1,4 КБ вот изображение моего фрейма данных:

введите описание изображения здесь

Примечание: Монета-это просто строка, которая динамически добавляется из URL-адреса для каждой конкретной таблицы монет.

Я был бы признателен за любую помощь или альтернативное решение.

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

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

2. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

3. но его преобразовали

4. Я обновил свой вопрос. Получение ошибки в последнем столбце,

Ответ №1:

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

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

1. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

2. В вашей правке теперь отображается предупреждение, а не ошибка, есть ли проблема с преобразованием?

3. обновил свой вопрос; Я смог преобразовать первые три, но получил ошибку на последнем, как показано в вопросе

4. @RoxanaSlj пожалуйста, добавьте полный вывод ошибок, включая номер строки и то, какая строка вышла из строя

, '').astype(float) df['Open_' str(coin)] = df['Open_' str(coin)].str.replace(',','').str.replace('вот результат работы df.info()

Фрейм данных'gt; Int64Index: 30 записей, от 1 до 30 столбцов данных (всего 5 столбцов):

Тип Dtype Столбца С Ненулевым Числом


0 Date_ETHEREUM 30 ненулевых datetime64[ns] 1 Рыночный капитал_этериум 30 ненулевых float64
2 объем_этериум 30 ненулевых float64
3 открытый_этериум 30 ненулевых float64
4 закрытый_этериум 30 ненулевых типов объектов
dtypes: datetime64ns, float64(3), объект(1) использование памяти: 1,4 КБ вот изображение моего фрейма данных:

введите описание изображения здесь

Примечание: Монета-это просто строка, которая динамически добавляется из URL-адреса для каждой конкретной таблицы монет.

Я был бы признателен за любую помощь или альтернативное решение.

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

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

2. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

3. но его преобразовали

4. Я обновил свой вопрос. Получение ошибки в последнем столбце,

Ответ №1:

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

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

1. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

2. В вашей правке теперь отображается предупреждение, а не ошибка, есть ли проблема с преобразованием?

3. обновил свой вопрос; Я смог преобразовать первые три, но получил ошибку на последнем, как показано в вопросе

4. @RoxanaSlj пожалуйста, добавьте полный вывод ошибок, включая номер строки и то, какая строка вышла из строя

, '').astype(float) df['Close_' str(coin)] = df['Close_' str(coin)].str.replace(',','').str.replace('вот результат работы df.info()

Фрейм данных'gt; Int64Index: 30 записей, от 1 до 30 столбцов данных (всего 5 столбцов):

Тип Dtype Столбца С Ненулевым Числом


0 Date_ETHEREUM 30 ненулевых datetime64[ns] 1 Рыночный капитал_этериум 30 ненулевых float64
2 объем_этериум 30 ненулевых float64
3 открытый_этериум 30 ненулевых float64
4 закрытый_этериум 30 ненулевых типов объектов
dtypes: datetime64ns, float64(3), объект(1) использование памяти: 1,4 КБ вот изображение моего фрейма данных:

введите описание изображения здесь

Примечание: Монета-это просто строка, которая динамически добавляется из URL-адреса для каждой конкретной таблицы монет.

Я был бы признателен за любую помощь или альтернативное решение.

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

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

2. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

3. но его преобразовали

4. Я обновил свой вопрос. Получение ошибки в последнем столбце,

Ответ №1:

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

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

1. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

2. В вашей правке теперь отображается предупреждение, а не ошибка, есть ли проблема с преобразованием?

3. обновил свой вопрос; Я смог преобразовать первые три, но получил ошибку на последнем, как показано в вопросе

4. @RoxanaSlj пожалуйста, добавьте полный вывод ошибок, включая номер строки и то, какая строка вышла из строя

, '').astype(float) вот результат работы df.info()

Фрейм данных’gt; Int64Index: 30 записей, от 1 до 30 столбцов данных (всего 5 столбцов):

Тип Dtype Столбца С Ненулевым Числом


0 Date_ETHEREUM 30 ненулевых datetime64[ns] 1 Рыночный капитал_этериум 30 ненулевых float64
2 объем_этериум 30 ненулевых float64
3 открытый_этериум 30 ненулевых float64
4 закрытый_этериум 30 ненулевых типов объектов
dtypes: datetime64ns, float64(3), объект(1) использование памяти: 1,4 КБ вот изображение моего фрейма данных:

введите описание изображения здесь

Примечание: Монета-это просто строка, которая динамически добавляется из URL-адреса для каждой конкретной таблицы монет.

Я был бы признателен за любую помощь или альтернативное решение.

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

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

2. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

3. но его преобразовали

4. Я обновил свой вопрос. Получение ошибки в последнем столбце,

Ответ №1:

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

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

1. Я изменил свой код в соответствии с вашим ответом и получил ошибку, пожалуйста, проверьте

2. В вашей правке теперь отображается предупреждение, а не ошибка, есть ли проблема с преобразованием?

3. обновил свой вопрос; Я смог преобразовать первые три, но получил ошибку на последнем, как показано в вопросе

4. @RoxanaSlj пожалуйста, добавьте полный вывод ошибок, включая номер строки и то, какая строка вышла из строя