Pandas中怎么按日期筛选、显示及统计数据

小编给大家分享一下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  20131024  3

3.         1  20131025  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.         20131024       3

4.         20131025       4

5.                   
 number

6.         date
             

7.         20170214       6

8.         20170222       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.         20131024       3

5.         20131025       4

6.                   
 number

7.         date
             

8.         20131227       2

9.         20131230       2

获取20162017年的数据

1.         print('———获取20162017年的数据———–')

2.         print(df['2016':'2017'].head(2))  #获取20162017年的数据

3.         print(df['2016':'2017'].tail(2))  #获取20162017年的数据

1.         ———获取20162017年的数据———–

2.                   
 number

3.         date
             

4.         20160104       4

5.         20160107       6

6.                   
 number

7.         date
             

8.         20170214       6

9.         20170222       6

获取某月的数据

1.         print('———获取某月的数据———–')

2.         print

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/238616.html

(0)
上一篇 2022年2月5日
下一篇 2022年2月5日

相关推荐

发表回复

登录后才能评论