Pandas: быстрый старт
В этой статье установим Pandas, создадим первый DataFrame и научимся читать
CSV-файл. После прохождения вы сможете загружать логи Arduino/ESP32 и смотреть
основные характеристики данных.
Когда нужно
Только начинаете работу с Pandas.
Нужно проверить, что окружение настроено правильно.
Хочется собрать минимальный «hello world» для анализа данных.
Установка
pip install pandas
В виртуальном окружении (рекомендуется):
python3 -m venv .venv
source .venv/bin/activate
pip install pandas
Пример 1. Импорт и проверка
import pandas as pd
print(pd.__version__)
Output:
2.2.2
Соглашение в сообществе — всегда импортировать Pandas под алиасом pd.
Пример 2. DataFrame из словаря
import pandas as pd
data = {
"time_s": [0, 1, 2, 3],
"temp_c": [22.1, 22.3, 22.5, 22.4],
}
df = pd.DataFrame(data)
print(df)
Output:
time_s temp_c
0 0 22.1
1 1 22.3
2 2 22.5
3 3 22.4
Пример 3. Список словарей
import pandas as pd
rows = [
{"sensor": "A", "value": 12},
{"sensor": "B", "value": 17},
]
df = pd.DataFrame(rows)
print(df)
Output:
sensor value
0 A 12
1 B 17
Пример 4. Чтение CSV
Предположим, файл log.csv:
time,temp,hum
0,22.1,55
1,22.3,54
2,22.5,53
import pandas as pd
df = pd.read_csv("log.csv")
print(df)
Output:
time temp hum
0 0 22.1 55
1 1 22.3 54
2 2 22.5 53
Пример 5. Размер и типы
import pandas as pd
df = pd.DataFrame({"a": [1, 2, 3], "b": [1.0, 2.0, 3.0]})
print("shape:", df.shape)
print("dtypes:")
print(df.dtypes)
Output:
shape: (3, 2)
dtypes:
a int64
b float64
dtype: object
Пример 6. Сохранение результата
import pandas as pd
df = pd.DataFrame({"x": [1, 2, 3]})
df.to_csv("out.csv", index=False)
Параметр index=False отключает запись числового индекса в файл —
это почти всегда то, что нужно.
Подводные камни
Если
pip install pandasпадает на macOS — обновитеpip:python3 -m pip install -U pip.В Jupyter Notebook вместо
print(df)достаточно просто написатьdf— будет красивая HTML-таблица.pd.read_csvпо умолчанию использует запятую как разделитель; для CSV из Excel в русской локали часто нужноsep=";".
См. также
Примечание
Лицензия и источники
Техническое описание адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Перевод на русский, примеры и пояснения — © AlashEd Wiki.