Series:

一维数据结构,,类似字典或者numpy中元素带标签的数组。其中每一个元素都有一个标签(可以为数字或字符串),具有索引,具有键值对对应关系,能够排序,切片等操作。

s=pd.Series([0,1,2,3,4,np.NAN,'a'])  #也可以直接传入一个数组

 

DataFrame:

dates = pd.date_range('20130101',periods=6)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['A','B','C','D'])
In [76]:df
Out[76]: 
                   A         B         C         D
2013-01-01 -2.359309 -0.065001  1.099911 -0.886392
2013-01-02  0.318336  0.715261  0.060752  1.326758
2013-01-03  0.515914  1.482326 -0.973154  1.766126
2013-01-04  1.875221 -0.316619 -0.543997  0.864037
2013-01-05 -0.697887  0.065137 -0.899040  0.826392
2013-01-06 -0.205943 -1.532289  1.849114  1.267895
df2 = pd.DataFrame({'A':1,
                    'B':pd.Timestamp('20130102'),
                    'C':pd.Series(1,index=range(4)),
                    'D':np.array([3]*4,dtype='int'),
                    'E':'foo'})

In [78]:df2
Out[78]: 
   A          B  C  D    E
0  1 2013-01-02  1  3  foo
1  1 2013-01-02  1  3  foo
2  1 2013-01-02  1  3  foo
3  1 2013-01-02  1  3  foo

dataframe常用操作:

查看前N行

查看后M行

df.head(n)

df.tail(m)

查看索引 df.index
查看值 df.values
查看列名 df.columns
查看数据有多少行 len(df)

查看数据信息

均值,方差,最小,最大

df.describe()
复制一个完全一样的对象 df2=df.copy()
对数据进行行列转置 df.T
   
   
- 方法一、df['A']
- 方法二、df.A
- 方法三、df.loc[:,['A']]
In [20]:df['A']
Out[20]: 
2013-01-01    0.134964
2013-01-02    1.490029
2013-01-03    0.329824
2013-01-04    0.135711
2013-01-05    0.104873
2013-01-06   -0.218562
Freq: D, Name: A, dtype: float64
#选择一列
- 方法一、df[['A','B']]
- 方法二、df.loc[:,['A','B']]
- 方法三、df.ix[:,['A','B']]
#选择两列
In [30]:df[(df.A>0) & (df.B<0)]
Out[30]: 
                   A         B         C         D
2013-01-01  0.134964 -1.454443 -0.310064  1.195568
2013-01-02  1.490029 -0.561749  0.524751  0.522473
2013-01-04  0.135711 -0.148830 -0.380225 -0.753513
#根据某一列或者几列进行条件筛选