在pandas中组合和格式化dtypes

时间:2018-03-19 23:07:02

标签: python pandas datetime jupyter-notebook

参与一个最终我想尝试预测NBA主场比赛的项目。我已经删除了我的初步数据,但仍想添加其他字段,例如竞技场容量,连胜以及其他我可能觉得有价值的字段。

在我的初始数据框架中,我只是不确定如何将日期字段组合起来,以便以后更容易绘制和使用。此外,任何其他输入将被赞赏其他提示。感谢。

DF preview]

1 个答案:

答案 0 :(得分:1)

此处有三个原始字段:日期,年份和时间。 (工作日可以从这些中得出。)

一种方法是连接它们的字符串形式并形成一系列日期时间:

>>> concat = df['Date'] + ' ' + df['Year'].astype(str) + ' ' + df['Time']
>>> df['Fulldate'] = pd.to_datetime(concat)

>>> df
  Weekday    Date  Year     Time            Fulldate
0     Tue  Oct 30  2012  7:00 pm 2012-10-30 19:00:00
1     Tue  Oct 30  2012  7:30 pm 2012-10-30 19:30:00
2     Tue  Oct 30  2012  7:00 pm 2012-10-30 19:00:00
3     Wed  Oct 31  2012  7:30 pm 2012-10-31 19:30:00
4     Wed  Oct 31  2012  8:00 pm 2012-10-31 20:00:00

从那里,您可以自由地使用.dt访问者来获取其他字段。例如:

>>> df.Fulldate.dt.month
0    10
1    10
2    10
3    10
4    10
Name: Fulldate, dtype: int64

>>> df.Fulldate.dt.weekday.isin((5, 6))  # weekend games

以下是类似日期时间属性的完整列表:

https://pandas.pydata.org/pandas-docs/stable/api.html#datetimelike-properties

将来,尝试让您的问题更加具体,并发布一些人们可以轻松复制的内容,而不是图片。