将时间戳转换为月份年份

时间:2019-11-18 02:13:33

标签: python pandas

如何将时间戳转换为month-year。即9/5/2019至Sep-2019。
我尝试了这个,但是我正在数组。这就是我所做的。

pd.DatetimeIndex(data ['Timestamp'])。year

pd.DatetimeIndex(data ['Timestamp'])。date

在这种情况下,我得到了可以将它们附加在一起的数组。但是我正在寻找更高效的方法,并且还会收到像“ Sep”这样的字母月份,而不是9。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用以下方式转换日期时间格式:

$ cat newdate.csv 
Name,Date
Will,9/5/2019
Bill,11/5/2019

df=pd.read_csv('newdate.csv')
df['Date']=pd.to_datetime(df['Date']).dt.strftime('%b-%Y') 

#In [323]: df                                                                                                                                                                                           
#Out[323]: 
#   Name      Date
#0  Will  Sep-2019
#1  Bill  Nov-2019

如果您更新列名,则可以直接使用下一行

df['Date']=pd.to_datetime(df['Date']).dt.strftime('%b-%Y') 

因此,如果您在日期列中使用的名称不是“日期”,则只需将其更改为您的列名称

答案 1 :(得分:0)

我在应用程序中用于格式化日期时间的方法使用datetime.datetime模块。
我使用datetime.strftime()函数从datetime对象获取格式化的字符串

代码:

from datetime import datetime

timestamp = datetime.now()
pretty_date = datetime.strftime(timestamp, '%d/%b/%y')
print(pretty_date)

输出:

18/Nov/19

完全相同的方法可用于date个对象。

代码:

from datetime import date

timestamp = date.today()
pretty_date = date.strftime(timestamp, '%d/%b/%y')
print(pretty_date)

输出:

18/Nov/19

有关strptimestrftime函数的格式代码列表,可以在python docs for datetime

中找到