In [6]:
df['date'] = pd.to_datetime(df['date'])
df['year'], df['month'] = df['date'].dt.year, df['date'].dt.month
Out[6]:
date Count year month
0 2010-06-30 525 2010 6
1 2010-07-30 136 2010 7
2 2010-08-31 125 2010 8
3 2010-09-30 84 2010 9
4 2010-10-29 4469 2010 10
看起来你正在运行旧版本的pandas,在这种情况下,以下内容可以正常工作:
In [18]:
df['date'] = pd.to_datetime(df['date'])
df['year'], df['month'] = df['date'].apply(lambda x: x.year), df['date'].apply(lambda x: x.month)
Out[18]:
date Count year month
0 2010-06-30 525 2010 6
1 2010-07-30 136 2010 7
2 2010-08-31 125 2010 8
3 2010-09-30 84 2010 9
4 2010-10-29 4469 2010 10
关于为什么它没有将它解析为read_csv中的日期时间,你需要传递列的序号位置([0]),因为当它试图解析列[1,2,3]时,请参阅docs
In [20]:
t="""date Count
6/30/2010 525
7/30/2010 136
8/31/2010 125
9/30/2010 84
10/29/2010 4469"""
df = pd.read_csv(io.StringIO(t), sep='\s+', parse_dates=[0])
df.info()
Int64Index: 5 entries, 0 to 4
Data columns (total 2 columns):
date 5 non-null datetime64[ns]
Count 5 non-null int64
dtypes: datetime64[ns](1), int64(1)
memory usage: 120.0 bytes
因此,如果您将param parse_dates = [0]传递给read_csv,则加载后不应该在’date’列上调用to_datetime。
如果您正在运行最近版本的pandas,那么您可以使用datetime属性dt来访问datetime组件:In [6]:df['date'] = pd.to_datetime(df['date'])df['year'], df['month'] = df['date'].dt.year, df['date'].dt.monthdfOut[6]:date Count year month0 20...
如果读入的时间列数据是string类型,我们可以先进行时间序列的转换
df
['login_time'] = pd.to_
datetime
(
df
['login_time'])
这样处理后可以使用dt模块,如果需要添加日期对应的周数或者月份
比如添加星期
df
['daynameofweek'] =
df
['login_time'].dt.day_name()
经济数据预测|
Python
实现金融时间序列数据
DateTime
方法
目录经济数据预测|
Python
实现金融时间序列数据
DateTime
方法基本介绍程序设计总结
对于
Pandas
来说,可以处理众多的数据类型,其
中
最有趣和最重要的数据类型之一就是时间序列数据。时间序列数据无处不在,它在各个行业都有很多应用。患者健康指标、股票价格变化、天气记录、经济指标、服务器、网络、传感器和应用程序性能监控都是时间序列数据的应用方向。
我们可以将时间序列数据定义为在不同时间间隔获得并按时间顺序排列的数据点的
1、
pandas
.Series.dt.y
ear
() 和
pandas
.Series.dt.month() 方法
提取
月份和
年份
2、strftime() 方法
提取
年份
和月份
3、
pandas
.
Datetime
Index.month 和
pandas
.
Datetime
Index.y
ear
提取
年份
和月份
4、参考资料
1、
pandas
.Series.dt.y
ear
() 和
pandas
.Series.dt.month() 方法
提取
月份和
年份
应用于
Datetime
类型的 p..
创建dataframe
df
= pd.DataFrame({'month':[1,4,7,10], 'y
ear
':[2012,2014,2014,2014], 'sale':[55,40,84,31]})
month sale y
ear
0 1 55 2012
1 4 40 2014
2 7 84 2014
3 10 ...