Pandas系列数据成分的提取

2024-09-30 08:14:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法将带有日期的Pandas数据帧列转换为数字。在

    import matplotlib.dates
    import datetime
    for x in arsenalchelsea['Datum']:
       year = int(x[:4])
       month = int(x[5:7])
       day = int(x[8:10])
       hour = int(x[11:13])
       minute = int(x[14:16])
       sec = int(x[17:19])
       arsenalchelsea['floatdate']=date2num(datetime.datetime(year, month, day, hour, minute, sec))
    arsenalchelsea

我想在dataframe中创建一个以数字表示日期的新列,因为我想稍后用x-as上的日期生成一个折线图。在

日期格式如下: 2017-11-29 14:06:45

有人能解决这个问题吗?在


Tags: 数据importpandasdatetimematplotlib数字secyear
1条回答
网友
1楼 · 发布于 2024-09-30 08:14:49

将字符串切片以获取日期组件是不好的做法。您应该转换为datetime并直接提取。在

在本例中,您似乎可以使用pd.to_datetime,但下面我还将演示如何在执行转换后提取各种组件。在

df = pd.DataFrame({'Date': ['2017-01-15 14:55:42', '2017-11-10 12:15:21', '2017-12-05 22:05:45']})

df['Date'] = pd.to_datetime(df['Date'])

df[['year', 'month', 'day', 'hour', 'minute', 'sec']] = \
df['Date'].apply(lambda x: (x.year, x.month, x.day, x.hour, x.minute, x.second)).apply(pd.Series)

结果:

^{pr2}$

相关问题 更多 >

    热门问题