In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from pandas import DataFrame, Series
In [7]:
from datetime import datetime
dates = [datetime(2011, 1, 2), datetime(2011, 1, 5), datetime(2011, 1, 7),
datetime(2011, 1, 8), datetime(2011, 1, 10), datetime(2011, 1, 12)]
ts = Series(np.random.randn(6), index=dates)
ts
Out[7]:
In [8]:
type(ts)
Out[8]:
In [9]:
ts.index
Out[9]:
In [10]:
ts + ts[::2]
Out[10]:
In [11]:
ts.index.dtype
Out[11]:
In [13]:
stamp = ts.index[0]
stamp
Out[13]:
In [14]:
stamp = ts.index[2]
ts[stamp]
Out[14]:
In [15]:
ts['1/10/2011']
Out[15]:
In [16]:
ts['20110110']
Out[16]:
In [17]:
longer_ts = Series(np.random.randn(1000),
index=pd.date_range('1/1/2000', periods=1000))
longer_ts
Out[17]:
In [18]:
longer_ts['2001']
Out[18]:
In [19]:
longer_ts['2001-05']
Out[19]:
In [20]:
ts[datetime(2011, 1, 7):]
Out[20]:
In [21]:
ts
Out[21]:
In [22]:
ts['1/6/2011':'1/11/2011']
Out[22]:
In [23]:
ts.truncate(after='1/9/2011')
Out[23]:
In [24]:
dates = pd.date_range('1/1/2000', periods=100, freq='W-WED')
long_df = DataFrame(np.random.randn(100, 4),
index=dates,
columns=['Colorado', 'Texas', 'New York', 'Ohio'])
long_df.ix['5-2001']
Out[24]:
In [25]:
dates = pd.DatetimeIndex(['1/1/2000', '1/2/2000', '1/2/2000', '1/2/2000',
'1/3/2000'])
dup_ts = Series(np.arange(5), index=dates)
dup_ts
Out[25]:
In [26]:
dup_ts.index.is_unique
Out[26]:
In [27]:
dup_ts['1/3/2000'] # 不重复
Out[27]:
In [28]:
dup_ts['1/2/2000'] # 重复
Out[28]:
In [29]:
grouped = dup_ts.groupby(level=0)
grouped.mean()
Out[29]:
In [30]:
grouped.count()
Out[30]:
In [31]:
ts
Out[31]:
In [33]:
ts.resample('D').mean()
Out[33]:
In [34]:
index = pd.date_range('4/1/2012', '6/1/2012')
index
Out[34]:
In [35]:
pd.date_range(start='4/1/2012', periods=20)
Out[35]:
In [36]:
pd.date_range(end='6/1/2012', periods=20)
Out[36]:
In [37]:
pd.date_range('1/1/2000', '12/1/2000', freq='BM')
Out[37]:
In [38]:
pd.date_range('5/2/2012 12:56:31', periods=5)
Out[38]:
In [44]:
pd.date_range('7/21/2016 10:11:12.345678', periods=10, freq='W-MON')
Out[44]:
In [45]:
pd.date_range('5/2/2012 12:56:31', periods=5, normalize=True)
Out[45]:
In [ ]: