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 #根据某一列或者几列进行条件筛选