【发布时间】:2020-05-10 11:07:40
【问题描述】:
您好,我是从 R 切换 python 的新手,我很难完成这个非常简单的任务,即根据 pandas 数据框的另一列更改日期。我阅读了其他几个关于此的问题,我希望有人可以快速解决我的问题,因为除了互联网我没有其他人可以问。
我认为我拥有所有的成分(功能),但与我在 R 中习惯的相比,我真的很难使用 pandas df。
import datetime
from datetime import datetime
import pandas as pd
import numpy as np
today=pd.to_datetime(datetime.today().strftime('%Y-%m-%d'))
d={"Start_Date":[today,today]}
df=pd.DataFrame(data=d)
n=len(df)
df["Distance"]=np.round_(np.random.uniform(low=1, high=14, size=n)).astype(int)
df.loc[:,"FutureDate"]=""
for index, row in df.iterrows():
print(row["Start_Date"]+pd.DateOffset(row["Distance"]))
row["FutureDate"]=row["Start_Date"]+pd.DateOffset(row["Distance"])
如果打印语句有效,为什么我的 FutureDate 列是空的?
有没有比使用循环更优雅的解决方案?我习惯了data.table我会用一行写函数。
【问题讨论】: