DataFrame.first() / Series.first()
Метод first() возвращает начальную часть временного ряда, попадающую в указанный временной интервал от первой даты в индексе. Требует DatetimeIndex.
Предупреждение
Метод first() помечен как устаревший начиная с pandas 2.1. Рекомендуется использовать .loc[] с явными временными границами.
Сигнатура
DataFrame.first(offset)
Series.first(offset)
Параметры
offset— строка илиDateOffset, описывает интервал:'3D'(3 дня),'2W'(2 недели),'1M'(1 месяц),'10min'и т. д.
Возвращаемое значение
DataFrame или Series со строками, попадающими в начало временного диапазона.
Примеры
Пример 1. Первые 3 дня измерений
import pandas as pd
idx = pd.date_range("2026-05-01", periods=7, freq="D")
df = pd.DataFrame({"temp": [22, 23, 21, 24, 25, 26, 27]}, index=idx)
print(df.first("3D"))
temp
2026-05-01 22
2026-05-02 23
2026-05-03 21
Пример 2. Первая неделя
import pandas as pd
idx = pd.date_range("2026-05-01", periods=20, freq="D")
df = pd.DataFrame({"v": range(20)}, index=idx)
print(df.first("1W").tail())
v
2026-05-03 2
2026-05-04 3
2026-05-05 4
2026-05-06 5
2026-05-07 6
Пример 3. Первые 30 минут логов Arduino
import pandas as pd
idx = pd.date_range("2026-05-15 10:00", periods=120, freq="min")
df = pd.DataFrame({"reading": range(120)}, index=idx)
print(df.first("30min").tail())
reading
2026-05-15 10:25:00 25
2026-05-15 10:26:00 26
2026-05-15 10:27:00 27
2026-05-15 10:28:00 28
2026-05-15 10:29:00 29
Пример 4. Современный аналог через .loc
import pandas as pd
idx = pd.date_range("2026-05-01", periods=10, freq="D")
df = pd.DataFrame({"v": range(10)}, index=idx)
start = df.index[0]
print(df.loc[start:start + pd.Timedelta(days=2)])
v
2026-05-01 0
2026-05-02 1
2026-05-03 2
Пример 5. Series
import pandas as pd
idx = pd.date_range("2026-05-01", periods=5, freq="D")
s = pd.Series([10, 20, 30, 40, 50], index=idx)
print(s.first("2D"))
2026-05-01 10
2026-05-02 20
Freq: D, dtype: int64
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.