import numpy as np
import pandas as pd#numpd升级版有行列标签
s=pd.Series([1,3,6,np.nan,44,1])
print(s)
'''
0 1.0
1 3.0
2 6.0
3 NaN
4 44.0
5 1.0
dtype: float64
'''
dates=pd.date_range('20160101',periods=6)
print(dates)
'''
DatetimeIndex([
'2016-01-01',
'2016-01-02',
'2016-01-03',
'2016-01-04',
'2016-01-05',
'2016-01-06'],
dtype='datetime64[ns]',
freq='D')
'''
df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
print(df)#注意下面的行列标签,默认是0123……
''' a b c d
2016-01-01 -0.346525 1.320273 1.264326 0.310309
2016-01-02 -0.803533 0.834628 0.242953 0.617996
2016-01-03 -1.056487 -0.542874 1.257013 -0.739535
2016-01-04 0.248479 0.620812 -0.485491 0.132013
2016-01-05 -1.196680 -0.024697 1.959581 -0.392433
2016-01-06 -0.705661 1.524657 -0.125209 0.432786
'''
df2=pd.DataFrame({'a':1.,'b':[2,3]})#可用字典创建,键是属性名
print(df2)#'a':1应写成'a':[1.,1.]比较好,此处写得简洁了
print(df2.dtypes)
'''
a float64
b int64
dtype: object\
'''
print(df2.sort_index(axis=1,ascending=False))
'''按列属性排序,且非升序,所以下面是b a
b a
0 2 1.0
1 3 1.0
'''
import numpy as np
import pandas as pd#numpd升级版有行列标签
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
print(df.loc[:,['A','B']])#用属性名输出
print(df.iloc[3:5,1:3])#用下标输出
print(df.ix[:3,['A','C']])#混合输出
""" A B
2013-01-01 0 1
2013-01-02 4 5
2013-01-03 8 9
2013-01-04 12 13
2013-01-05 16 17
2013-01-06 20 21
B C
2013-01-04 13 14
2013-01-05 17 18
A C
2013-01-01 0 2
2013-01-02 4 6
2013-01-03 8 10
"""
df.B[df.A>4]=0#把A列中值大于0的行的B属性改为0
df.loc['20130101','D']=2222#改对应值为2222
df.loc['20130101','C']=np.nan#改对应值为空
print(df)
''' A B C D
2013-01-01 0 1 NaN 2222
2013-01-02 4 5 6.0 7
2013-01-03 8 0 10.0 11
2013-01-04 12 0 14.0 15
2013-01-05 16 0 18.0 19
2013-01-06 20 0 22.0 23
'''
import numpy as np
import pandas as pd#numpd升级版有行列标签
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,