我的Python字段值如下所示:
Metrics_Values
2017-12-31 00:00:00
UW Value
2017-12-31 00:00:00
2017-12-31 00:00:00
我想要下面的输出:
Metric_Values
12/31/2017
UW Value
12/31/2017
12/31/2017
我对此数据帧尝试了几种不同的操作,但是由于值属于对象数据类型,并且由于我也有一些文本值,因此我很难获得所需的信息。
赞赏任何指针。 谢谢
答案 0 :(得分:1)
我不建议在同一系列中使用多种类型的数据,但是以下代码可以为您完成工作:
df.Metrics_Values = df.Metrics_Values.map(lambda x: x.date() if isinstance(x, datetime.datetime) else x)
答案 1 :(得分:0)
您可以使用strptime
中的strftime
(将字符串转换为日期时间对象)和datetime
(将日期时间对象转换为字符串)来格式化日期。这是一个示例:
import datetime as dt
def convert_format(date_string):
return dt.datetime.strptime(date_string,'%Y-%m-%d %H:%M:%S').strftime('%Y/%m/%d')
然后将这种方法apply
用于您的数据框或系列:
df.time_column.apply(lambda x: convert_format(x))
输入:
0 2017-12-31 00:00:00
1 2017-12-31 00:00:00
使用上面的代码将导致:
0 2017/12/31
1 2017/12/31
有关其工作原理的更多信息,请参见strptime
和strftime
上的文档:https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior