如何在Pandas中把数据时间转换为日期

  • Post category:Python
  1. 首先,读取数据时需要指定时间列的格式,以便Pandas能够正确地解析时间。例如,如下所示创建小型数据集:
import pandas as pd

data = {'date':['2020-01-01 13:30:00', '2020-01-02 16:45:30', '2020-01-03 04:20:00', '2020-01-04 08:00:00'],
        'value':[100, 200, 300, 400]}

df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d %H:%M:%S')

其中,pd.to_datetime()函数用于将字符串转换为Pandas中的日期时间格式,需要指定相应的时间格式。

  1. 接下来,将日期时间列转换为日期列。使用.dt属性访问时间相关信息,例如年份、月份、日期等,然后使用.date方法获取日期部分。示例代码如下:
df['date'] = df['date'].dt.date
  1. 如果需要转换为指定格式的字符串,可以使用.strftime()方法。例如,将日期转换为YYYY-MM-DD格式的字符串:
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))

完整代码如下:

import pandas as pd

data = {'date':['2020-01-01 13:30:00', '2020-01-02 16:45:30', '2020-01-03 04:20:00', '2020-01-04 08:00:00'],
        'value':[100, 200, 300, 400]}

df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d %H:%M:%S')
df['date'] = df['date'].dt.date
df['date'] = df['date'].apply(lambda x: x.strftime('%Y-%m-%d'))

print(df)

输出结果如下:

         date  value
0  2020-01-01    100
1  2020-01-02    200
2  2020-01-03    300
3  2020-01-04    400

以上就是在Pandas中将数据时间转换为日期的完整攻略及实例。