Как заменить запятую на точку в python
Перейти к содержимому

Как заменить запятую на точку в python

  • автор:

[python] вывод float с запятой вместо точки

Как правильно настроить вывод, чтобы при печати float использовалась запятая вместо точки (кроме костыля def comma(fl): str(fl).replace(‘.’, ‘,’))?

> print 3.14 3,14 > str(3.14) 3,14 и т. д. 

ipc ★
30.05.11 20:31:00 MSK

Я как раз делал бы strreplace.

Tanger ★★★★★
( 30.05.11 20:33:25 MSK )

import locale locale.setlocale(locale.LC_ALL, '') print locale.format("%f", 3.1415) 

Только так правильно.

Zenom ★★★
( 30.05.11 20:40:49 MSK )

Я бы на твоём месте, особенно если пишешь не только для себя, считывал значение десятичного разделителя из текущей локали. Захардкоривать такие вещи оч. плохо.

Заменить запятую и точку в Pandas

У меня есть столбец с данными, такими как 3.4500,00 EUR. Теперь я хочу сравнить это с другим столбцом с числами с плавающей запятой, такими как 4000,00. Как мне взять эту строку, удалить EUR и заменить запятую на десятичную, а затем преобразовать в число с плавающей запятой для сравнения? python pandas decimal euro

Поделиться Источник 26 мая 2019 в 16:39

2 ответа

Вы можете использовать регулярные выражения, чтобы сделать ваши условия общими, которые будут работать во всех случаях:

# Make example dataframe for showing answer df = pd.DataFrame(<'Value':['3.4500,00 EUR', '88.782,21 DOLLAR']>) Value 0 3.4500,00 EUR 1 88.782,21 DOLLAR 

Используйте str.replace с регулярным выражением:

df['Value'].str.replace('[A-Za-z]', '').str.replace(',', '.').astype(float) 0 34500.00 1 88782.21 Name: Value, dtype: float64 
  • str.replace(‘[A-Za-z\.]’, ») удаляет все буквенные символы и точки.
  • str.replace(‘,’, ‘.’) заменяет запятую на точку
  • astype(float) преобразует ее из объекта (строки) в тип с плавающей запятой

Поделиться 26 мая 2019 в 17:02

Вот мое решение:

 amount amount2 0 3.4500,00EUR 4000 1 3.600,00EUR 500 

используйте apply() затем преобразуйте тип данных в float

data['amount'] = data['amount'].apply(lambda x: x.replace('EUR', '')).apply(lambda x: x.replace('.', '')).apply(lambda x: x.replace(',', '.')).astype('float') 
 amount amount2 0 34500.0 4000 1 3600.0 500 

Как заменить запятую на точку в java

В Java заменить запятую на точку можно при помощи метода replace() , который заменяет части строки на другую строку.

String str = "Ivan, Petr,"; String newStr = str.replace(',', '.'); System.out.println(newStr); // => Ivan. Petr. 

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » заменить запятые на точки в файле

#1 Март 13, 2016 15:55:36

nasty194 Зарегистрирован: 2016-03-13 Сообщения: 1 Репутация: 0 Профиль Отправить e-mail

заменить запятые на точки в файле

Есть файл, из которого я пытаюсь достать числа по столбцам. Проблема состоит в том, что не получается сконвертить их во float, т.к разделителем в файле являются запятые.

d=[] for line in f: words=line.split() numberD=float(words[0]) d.append(numberD) 

говорит следующее: ValueError: could not convert string to float: ‘0,0011’

attachment

Прикреплённый файлы:
111.txt (4,4 KБ)

#2 Март 13, 2016 16:16:57

JOHN_16 От: Россия, Петропавловск-Камчатск Зарегистрирован: 2010-03-22 Сообщения: 3292 Репутация: 221 Профиль Отправить e-mail

заменить запятые на точки в файле

Это наверняка очень легко гуглится. Вот вам пример

>>> s='0,0011' >>> float(s) Traceback (most recent call last): File "", line 1, in module> ValueError: could not convert string to float: '0,0011' >>> ns = s.replace(',', '.') >>> ns '0.0011' >>> float(ns) 0.0011 >>> float(s.replace(',', '.')) 0.0011 

_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *