Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将周、月、日转换为年-月-日_Python_Pandas_Date_Datetime - Fatal编程技术网

Python 如何将周、月、日转换为年-月-日

Python 如何将周、月、日转换为年-月-日,python,pandas,date,datetime,Python,Pandas,Date,Datetime,我在熊猫专栏中列出了从2018年到2021年的日期,它们如下所示: 日期 12月30日星期日 12月31日,星期一 我会看一看对话。如前所述,您可能需要定义一个年的范围,因为12月30日(例如)可能是一年中的一个星期日。否则,可以收集输入有效的年份列表(Sun,12月30日)。您可能需要使用将字符串转换为Python可读格式。您可以迭代2018年到2022年的年份,以获得每个目标日期的工作日名称,然后查找匹配年份 df = pd.DataFrame({'Date': {0: 'Sun, Dec

我在熊猫专栏中列出了从2018年到2021年的日期,它们如下所示:

日期 12月30日星期日 12月31日,星期一
我会看一看对话。如前所述,您可能需要定义一个年的范围,因为12月30日(例如)可能是一年中的一个星期日。否则,可以收集输入有效的年份列表(Sun,12月30日)。您可能需要使用将字符串转换为Python可读格式。

您可以迭代2018年到2022年的年份,以获得每个目标日期的工作日名称,然后查找匹配年份

df = pd.DataFrame({'Date': {0: 'Sun, Dec 30',
                            1: 'Mon, Dec 31'}})
for col in range(2018, 2022):
    df[col] = '%s' % col + df['Date'].str.split(',').str[-1]
    df[col] = pd.to_datetime(df[col], format='%Y %b %d').dt.strftime('%a, %b %d')

dfn = df.set_index('Date').stack().reset_index()
cond = dfn['Date'] == dfn[0]
obj = dfn[cond].set_index('Date')['level_1'].rename('year')
结果:

print(obj)

    Date
    Sun, Dec 30    2018
    Mon, Dec 31    2018
    Name: year, dtype: int64

print(df.join(obj, on='Date'))

              Date         2018         2019         2020         2021  year
    0  Sun, Dec 30  Sun, Dec 30  Mon, Dec 30  Wed, Dec 30  Thu, Dec 30  2018
    1  Mon, Dec 31  Mon, Dec 31  Tue, Dec 31  Thu, Dec 31  Fri, Dec 31  2018


df_result = obj.reset_index()
df_result['Date_new'] = df_result['Date'].str.split(',').str[-1] + ' ' + df_result['year'].astype(str)
print(df_result)

              Date  year      Date_new
    0  Sun, Dec 30  2018   Dec 30 2018
    1  Mon, Dec 31  2018   Dec 31 2018

df.dtype
为您提供了什么?df.dtype为ne提供了一个有效的对象,感谢您共享该链接!