如何在python数据框架中从mm/dd/yyy提取星期几
我在python数据框架中有一个非索引列,日期为2017年3月2日。我想提取一周中的某一天,并将其作为一个单独的列。首先,您需要将日期转换为datetime对象:如何在python数据框架中从mm/dd/yyy提取星期几,python,pandas,dataframe,dayofweek,Python,Pandas,Dataframe,Dayofweek,我在python数据框架中有一个非索引列,日期为2017年3月2日。我想提取一周中的某一天,并将其作为一个单独的列。首先,您需要将日期转换为datetime对象: import datetime date = datetime.datetime.strptime("02/03/2017", "%d/%m/%Y") print date.weekday() 请参见您可能还对arrow模块感兴趣,因为它提供了许多功能和优势。在这里,我演示了它以两种形式为一种语言环境提供工作日名称的能力,以及以
import datetime
date = datetime.datetime.strptime("02/03/2017", "%d/%m/%Y")
print date.weekday()
请参见您可能还对arrow模块感兴趣,因为它提供了许多功能和优势。在这里,我演示了它以两种形式为一种语言环境提供工作日名称的能力,以及以一种形式为非英语语言环境提供工作日名称的能力
>>> import arrow
>>> theDate = arrow.get('02/03/2017', 'DD/MM/YYYY')
>>> theDate
<Arrow [2017-03-02T00:00:00+00:00]>
>>> theDate.weekday()
3
>>> theDate.format('ddd', locale='en_GB')
'Thu'
>>> theDate.format('dddd', locale='en_GB')
'Thursday'
>>> theDate.format('dddd', locale='fr_FR')
'jeudi'
导入箭头
>>>日期=arrow.get('02/03/2017','DD/MM/YYYY'))
>>>日期
>>>工作日
3.
>>>格式('ddd',locale='en_GB')
“Thu”
>>>格式('dddd',locale='en_GB')
“星期四”
>>>格式('dddd',locale='fr\u fr')
“朱迪”
我找到的解决方案是一个分两步的过程,因为我还没有找到一种方法让
工作日()
处理熊猫系列
import pandas as pd
your_df = pd.DataFrame(data={'Date': ['31/1/2018', '1/1/2018', '31/12/2018',
'28/2/2016', '3/3/2035']})
dt_series = pd.to_datetime(your_df['Date'], format="%d/%m/%Y")
dow = []
for dt in range(0, len(your_df)):
dow.append(dt_series[dt].weekday())
your_df.insert(1, 'Day of week', dow)
print(your_df)
输出应如下所示:
Date Day of week
0 31/1/2018 2
1 1/1/2018 0
2 31/12/2018 0
3 28/2/2016 6
4 3/3/2035 5
注:
的format参数更改为_datetime()
李>
事实上,使用熊猫是有解决办法的
import pandas as pd
your_df = pd.DataFrame(data={'Date': ['31/1/2018', '1/1/2018', '31/12/2018',
'28/2/2016', '3/3/2035']})
your_df['Date'] = pd.to_datetime(your_df['Date'], format="%d/%m/%Y")
your_df['Day of week (int)'] = your_df['Date'].dt.weekday
your_df['Day of week (str)'] = your_df['Date'].dt.day_name()
print(your_df)
更多信息请点击此处:
根据我的另一个(不太优雅的)答案…那么到目前为止您尝试了什么?Dataframe是一个通用术语。您想确定您正在使用的特定软件系统吗?对不起。我在Python3中使用了pandas。我还应该提到,我遇到的错误是指试图将列作为一个系列处理,这似乎是不允许的。例如,如果我写:df['DOW']=datetime.datetime.strtime(df[Production_Date],'%mm/%m/%Y'),我会得到一个错误,比如无法解析两个类型的参数。我只是在抓救命稻草。谢谢你的建议。我必须看看是否可以将其应用于数据帧列。