Python 对多个日期进行有条件的更改

Python 对多个日期进行有条件的更改,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我相信这很容易回答,但我才刚刚开始使用熊猫 我的excel文件中有一个名为“Day”的列和一个名为“Date”的日期/时间列 我想用“日期”列中多个日期的对应日期更新我的“日期”列 到目前为止,我使用下面显示的代码将日期/时间更改为仅日期 df['Date'] = pd.to_datetime(df.Date).dt.strftime('%d/%m/%Y') 然后使用此代码将“日”列更改为“星期二” df.loc[df['Date'] == '02/02/2018', 'Day'] = '2'

我相信这很容易回答,但我才刚刚开始使用熊猫

我的excel文件中有一个名为“Day”的列和一个名为“Date”的日期/时间列

我想用“日期”列中多个日期的对应日期更新我的“日期”列

到目前为止,我使用下面显示的代码将日期/时间更改为仅日期

df['Date'] = pd.to_datetime(df.Date).dt.strftime('%d/%m/%Y')
然后使用此代码将“日”列更改为“星期二”

df.loc[df['Date'] == '02/02/2018', 'Day'] = '2'
(2表示一周中的第二天)

这很有效。问题是,我的excel工作表有500000多行数据和大量日期。因此,我需要这段代码来处理多个日期(确切地说是4个不同的日期)

比如,;我试过这个密码

df.loc[df['Date'] == '02/02/2018' + '09/02/2018' + '16/02/2018' + '23/02/2018', 'Day'] = '2'

这不会给我一个错误,但不会将日期更改为2。我知道我可以多次使用同一行代码,每次都更改日期……但一定有办法按照我解释的方式完成吗?非常感谢您的帮助:)2018年2月2日是星期五,所以我不知道“一周中的第二天”是什么意思。你的一周从星期四开始吗

由于您已经将日期转换为时间戳,请使用
dt
访问器:

df['Day'] = df['Date'].dt.dayofweek()

星期一为0,星期天为6。根据需要处理。2018年2月2日是星期五,所以我不知道“一周中的第二天”是什么意思。你的一周从星期四开始吗

由于您已经将日期转换为时间戳,请使用
dt
访问器:

df['Day'] = df['Date'].dt.dayofweek()

星期一为0,星期天为6。根据需要进行操作。

如果操作正确,您希望将
列更改为几个
日期
,对吗?如果是这样,您可以将这些日期包含在一个单独的列表中,然后执行以下操作

my_dates = ['02/02/2018', '09/02/2018', '16/02/2018', '23/02/2018']
df.loc[df['Date'].isin(my_dates), 'Day'] = '2'

如果正确的话,您想将
日期
列更改为几个
日期
,对吗?如果是这样,您可以将这些日期包含在一个单独的列表中,然后执行以下操作

my_dates = ['02/02/2018', '09/02/2018', '16/02/2018', '23/02/2018']
df.loc[df['Date'].isin(my_dates), 'Day'] = '2'

对不起,我的错误,是的,你是对的,我已经开始工作了谢谢,对不起,我的错误,是的,你是对的,我已经开始工作了谢谢