如何从 iterrows() 函数(Python 和 Pandas)获取之前的日期
How do I get a previous date from iterrows() function (Python and Pandas)
我有一个数据框,我正在经历如下:
for index, row in my_dataframe.iterrows():
cursor.execute(""" UPDATE MY_TABLE SET COLUMN1 = %s,
COLUMN2 = %s WHERE TO_TIMESTAMP(DATE_COLUMN, 'YYYY-MM-DD') = %s AND COLUMN1 IS NULL""",
(row['VALUE_A'],
row['VALUE_B'],
row['DATE_C']
))
我需要的是应用类似的东西:
row['DATE_C'] -1 day.
我该怎么做?我们如何在 python / pandas 数据框中进行行操作。
现在,我知道如果我们去掉 row['...'] 语法并且这是基本的 sql,我们可以只使用 - interval '1' day 语法来完成它。但是我需要使用这个循环来实现我的目标。
谢谢。
您可以使用pandas.Timedelta
pd.to_datetime(row['DATE_C']) - pd.Timedelta(days=1)
我有一个数据框,我正在经历如下:
for index, row in my_dataframe.iterrows():
cursor.execute(""" UPDATE MY_TABLE SET COLUMN1 = %s,
COLUMN2 = %s WHERE TO_TIMESTAMP(DATE_COLUMN, 'YYYY-MM-DD') = %s AND COLUMN1 IS NULL""",
(row['VALUE_A'],
row['VALUE_B'],
row['DATE_C']
))
我需要的是应用类似的东西:
row['DATE_C'] -1 day.
我该怎么做?我们如何在 python / pandas 数据框中进行行操作。
现在,我知道如果我们去掉 row['...'] 语法并且这是基本的 sql,我们可以只使用 - interval '1' day 语法来完成它。但是我需要使用这个循环来实现我的目标。 谢谢。
您可以使用pandas.Timedelta
pd.to_datetime(row['DATE_C']) - pd.Timedelta(days=1)