Python 日期时间转换
我正在从其中一个文件中提取数据,该文件的日期存储为Python 日期时间转换,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我正在从其中一个文件中提取数据,该文件的日期存储为 3月20日 使用熊猫,我想转换为20/03/2020 我尝试使用strftime,到_datetime使用错误,但仍然无法转换 此外,当我按日期分组时,它以数字形式存储date列,如下所示: 1月1日、2月1日、3月1日,然后是1月2日、2月2日、3月2日 我如何解决这个问题 import pandas as pd def to_datetime_(dt): return pd.to_datetime(dt + " 2020") 要
3月20日
使用熊猫,我想转换为20/03/2020
我尝试使用strftime
,到_datetime
使用错误,但仍然无法转换
此外,当我按日期分组时,它以数字形式存储date
列,如下所示:
1月1日、2月1日、3月1日,然后是1月2日、2月2日、3月2日
我如何解决这个问题
import pandas as pd
def to_datetime_(dt):
return pd.to_datetime(dt + " 2020")
要获取熊猫2020年的时间戳,请始终
import pandas as pd
import datetime
df = pd.DataFrame({
'dates': ['1 January', '2 January', '10 March', '1 April']
})
df['dates'] = df['dates'].map(lambda x: datetime.datetime.strptime(x, "%d %B").replace(year=2020))
# Output
dates
0 2020-01-01
1 2020-01-02
2 2020-03-10
3 2020-04-01
如果
year
始终为2020
,则使用以下代码:
df = pd.DataFrame({'date':['20 March','22 March']})
df['date_new'] = pd.to_datetime(df['date'], format='%d %B')
如果显示年份为1900
,则:
df['date_new'] = df['date_new'].mask(df['date_new'].dt.year == 1900, df['date_new'] + pd.offsets.DateOffset(year = 2020))
print(df)
date date_new
0 20 March 2020-03-20
1 22 March 2020-03-22
此外,您还可以根据需要转换日期格式。因此年份应始终为2020年?是的,日期应为2020年。
datetime
代表什么?因为当我尝试这一点时,它说日期时间没有定义。例如,我想将该列中的所有值转换为20-03-2020
。你能详细说明一下吗?你可以使用df['date']=df['date'].map(lambda x:to_datetime_uux))
用上面的代码,你可以从那里转换成你想要的任何东西,例如datetime.datedf['date']=df['date'].map(lambda x:to_datetime_uu(x).date())
for20-03-2020
usedf['date']=df['date'].map(lambda x:to_datetime_u(x).strftime(%d-%m-%Y))
值错误:日期超出了月份的范围当我在第一个代码块中使用代码时,我发现了这个错误。您可以在数据框中添加几行吗?