簡體   English   中英

如何通過對同一列進行操作來設置 pandas dataframe 列的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM