当前位置 主页 > 服务器问题 > Linux/apache问题 >

    python中有关时间日期格式转换问题

    栏目:Linux/apache问题 时间:2019-12-26 09:02

    每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数....

    1、字符串转化为日期 str—>date

    import datetime
    date_str = '2006-01-03'
    date_ = datetime.datetime.strptime(date_str,'%Y-&m-%d')

    这是单个字符串的转化,其中“%Y-%m-%d”表示日期字符串的格式,若date_str='2006/1/3',则可写为“%Y/%m/%d”,以此类推。

    一般地,我们经常会对dataframe的某一列进行操作:

    可以应用apply函数:

    def strptime_row(rowi):
      return datetime.datetime.strptime(rowi,'%Y/%m/%d')
     
    df['date'] = df['date'].apply(strptime_row)

    可能apply()函数效率比较低一些,应该有专门针对某一列日期格式操作的函数,如

    import pandas as pd
    df['date'] = pd.to_datetime(df['date'])

    to_datetime()函数可以解析多种不同的日期表示形式(如“7/6/2011”,2011年6月7日),对标准日期格式(如ISO8601)解析非常快。

    还有parse()函数,几乎可以识别所有人类能够理解的日期表示方式(但遗憾的是中文不行),如:

    from dateutil.parser import parse
    parse('Jan 31,2008 10:45 AM')

    2、日期转化为字符串

    可以使用strftime()函数

    总结

    以上所述是小编给大家介绍的python中有关时间日期格式转换问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!