Я играю с набором данных из FIFA 19 и в настоящее время пытаюсь преобразовать строковые значения, условия заработной платы и деблокирования в значения с плавающей запятой, например, 110,5 млн евро в 110500000. Вот моя функция, которая принимает текст в качестве аргумента и возвращает значение с плавающей запятой:
def text_to_num(text):
d = {'K': 3, 'M': 6, 'B': 9}
new_text = text[1:]
if new_text[-1] in d:
num = new_text[:-1]
magnitude = new_text[-1]
return Decimal(num) * 10 ** d[magnitude]
else:
return Decimal(new_text)
Довольно просто применить его к одному столбцу, например, значение:
def convert_into_float(data):
data['Value'] = data['Value'].apply(text_to_num)
return data
Мне интересно, как преобразовать все 3 столбца одновременно вместо использования вышеуказанной функции три раза,
def main():
# load the data from .csv file, use ID column as index
new_data = load_data("data.csv", 'ID')
new_data = convert_into_float(new_data)