[英]How to set the value of a pandas dataframe column with an operation over the same column
我正在嘗試在 Pandas dataframe 上的 python 腳本中執行以下句子:
boxes_df["delivery_date"] = (dateutil.parser.parse(boxes_df["delivery_date"]) + datetime.timedelta(weeks=weeks_before)).strftime("%Y-%m-%d")
但我收到了這個錯誤:
TypeError: Parser must be a string or character stream, not Series
我該如何進行這樣的計算?
你可能想要
df["delivery_date"] = (df["delivery_date"].apply(dateutil.parser.parse) + datetime.timedelta(weeks=weeks_before)).dt.strftime("%Y-%m-%d")
但更多的 pandas 方式是
df["delivery_date"] = (pd.to_datetime(df["delivery_date"]) + pd.Timedelta(weeks=weeks_before)).dt.strftime("%Y-%m-%d")
.dt.strftime("%Y-%m-%d")
可以替換為.dt.date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.