[英]python - how do I convert sequence in the dates
below is my dataframe with one column ie Date下面是我的 dataframe 一栏,即日期
df = pd.DataFrame({'Date' : ['2014-03-27', '2014-03-28', '2014-03-31', '2014-04-01', '2014-04-02', '2014-04-03', '2014-04-04', '2014-04-07','2014-04-08', '2014-04-09']})
assume that the dtype is datetime64[ns]假设 dtype 是 datetime64[ns]
I want to convert it to format %d-%m-%Y我想把它转换成格式 %d-%m-%Y
I used this formula我用这个公式
df['Date'].apply(lambda x: datetime.strptime(x.strftime("%d-%m-%Y"),"%d-%m-%Y"))
but the sequencing still didnt change - am I doing something wrong?但顺序仍然没有改变——我做错了什么吗?
df['Date'].apply(lambda x: datetime.strptime(x.strftime("%Y-%m-%d"),"%d-%m-%Y"))
Read it in the way it is, then print it the way you want it.按原样阅读,然后按您想要的方式打印。
Use dt.strftime
:使用
dt.strftime
:
df["Date"] = df["Date"].dt.strftime("%d-%m-%Y")
You example dataset doesn't have data of type datetime64[ns] , so lets convert them first您的示例数据集没有datetime64[ns]类型的数据,所以让我们先转换它们
Code代码
import pandas as pd
import datetime
# your dataset
df = pd.DataFrame({'Date': ['2014-03-27', '2014-03-28', '2014-03-31', '2014-04-01', '2014-04-02', '2014-04-03', '2014-04-04', '2014-04-07','2014-04-08', '2014-04-09']})
# convert to datetime64[ns] type
df['Date']=df['Date'].apply(lambda x: datetime.datetime.strptime(x, "%Y-%m-%d"))
print(df['Date'].dtype)
# convert to formatted string
df['Date']=df['Date'].apply(lambda x: x.strftime("%d-%m-%Y"))
print(df)
Output Output
datetime64[ns]
Date
0 27-03-2014
1 28-03-2014
2 31-03-2014
3 01-04-2014
4 02-04-2014
5 03-04-2014
6 04-04-2014
7 07-04-2014
8 08-04-2014
9 09-04-2014
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.