小编给大家分享一下Pandas中怎么按日期筛选、显示及统计数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
运行环境为 windows系统,64位,python3.5。
1 读取并整理数据
-
首先引入pandas库
1. import pandas as pd
-
从csv文件中读取数据
1. df =
pd.read_csv('date.csv', header=None)
2. print(df.head(2))
1. 0 1
2. 0 2013–10–24 3
3. 1 2013–10–25 4
-
整理数据
1. df.columns
= ['date','number']
2. df['date'] = pd.to_datetime(df['date']) #将数据类型转换为日期类型
3. df =
df.set_index('date') # 将date设置为index
4. print(df.head(2))
5. print(df.tail(2))
6. print(df.shape)
1.
number
2. date
3. 2013–10–24 3
4. 2013–10–25 4
5.
number
6. date
7. 2017–02–14 6
8. 2017–02–22 6
9. (425, 1)
-
df的行数一共是425行。
查看Dataframe的数据类型
1. print(type(df))
2. print(df.index)
3. print(type(df.index))
1. <class 'pandas.core.frame.DataFrame'>
2. DatetimeIndex(['2013-10-24',
'2013-10-25', '2013-10-29', '2013-10-30',
3.
'2013-11-04', '2013-11-06', '2013-11-08', '2013-11-12',
4.
'2013-11-14', '2013-11-25',
5.
…
6.
'2017-01-03', '2017-01-07', '2017-01-14', '2017-01-17',
7.
'2017-01-23', '2017-01-25', '2017-01-26', '2017-02-07',
8.
'2017-02-14', '2017-02-22'],
9.
dtype='datetime64[ns]', name='date', length=425, freq=None)
10. <class 'pandas.tseries.index.DatetimeIndex'>
构造Series类型数据
1. s = pd.Series(df['number'],
index=df.index)
2. print(type(s))
3. s.head(2)
1. <class 'pandas.core.series.Series'>
2.
3. date
4. 2013-10-24
3
5. 2013-10-25
4
6. Name:
number, dtype: int64
2 按日期筛选数据
按年度获取数据
1. print('———获取2013年的数据———–')
2. print(df['2013'].head(2)) # 获取2013年的数据
3. print(df['2013'].tail(2)) # 获取2013年的数据
1. ———获取2013年的数据———–
2.
number
3. date
4. 2013–10–24 3
5. 2013–10–25 4
6.
number
7. date
8. 2013–12–27 2
9. 2013–12–30 2
获取2016至2017年的数据
1. print('———获取2016至2017年的数据———–')
2. print(df['2016':'2017'].head(2)) #获取2016至2017年的数据
3. print(df['2016':'2017'].tail(2)) #获取2016至2017年的数据
1. ———获取2016至2017年的数据———–
2.
number
3. date
4. 2016–01–04 4
5. 2016–01–07 6
6.
number
7. date
8. 2017–02–14 6
9. 2017–02–22 6
获取某月的数据
1. print('———获取某月的数据———–')
2. print
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/238616.html