Что выведет код Junior Чтение и запись данных спрашивают часто обновлено

read_csv: ведущие нули и запятая

Вопрос

Что выведет код? По строке на каждый print.

import io
import pandas as pd

text = 'id;price\n007;12,5\n010;3,0\n'
a = pd.read_csv(io.StringIO(text), sep=';')
b = pd.read_csv(io.StringIO(text), sep=';', decimal=',', dtype={'id': str})
print(a['id'].tolist(), a['price'].tolist())
print(b['id'].tolist(), b['price'].sum())

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: [7, 10] ['12,5', '3,0'], ['007', '010'] 15.5. Без dtype колонка id стала числами и потеряла нули, а price с запятой осталась строками.

Что выведет

[7, 10] ['12,5', '3,0']
['007', '010'] 15.5

Разбор

Без dtype колонка id стала числами и потеряла нули, а price с запятой осталась строками. С decimal="," цены стали числами, их сумма 15.5, а id строкой сохранил 007.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме