Код: Выделить всё
import pandas as pd
s1 = pd.DataFrame({"year": [2015, 2016], "month": [2, 3], "day": [4, 5]})
s1 = pd.to_datetime(s1)
df = pd.DataFrame(s1)
df = df.rename(columns={0: "t1", 1: "t2"})
df["day"] = df["t1"].dt.date
df["n"] = pd.to_timedelta(df["t1"].dt.day_of_week)
# Throws a not vectorized warning
df["week"] = df["day"] - df["n"]
# No warnings is it actually vectorized?
df["week2"] = df["t1"] - df["n"]
df["week2"] = df["week2"].dt.date
print(df[["week", "week2"]])
Нужно ли мне конвертировать все столбцы pd.date в pd.datetime, когда я хочу вычесть или добавить временную дельту, чтобы обеспечить ее векторизацию?
Я что-то упустил?
Нужно ли мне конвертировать все столбцы pd.date в pd.datetime, когда я хочу вычесть или добавить дельту времени, чтобы обеспечить ее векторизацию?
Я что-то упустил? p>
Я ожидаю, что обе операции для столбца «week» и «week2» будут векторизованы.
Подробнее здесь: https://stackoverflow.com/questions/783 ... vectorized