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.