一、 创建对象

可以通过 数据结构入门 来查看有关该节内容的详细信息。

1、可以通过传递一个list对象来创建一个Series,pandas 会默认创建整型索引:

  1. In [4]: s = pd.Series([1,3,5,np.nan,6,8])
  2. In [5]: s
  3. Out[5]:
  4. 0 1.0
  5. 1 3.0
  6. 2 5.0
  7. 3 NaN
  8. 4 6.0
  9. 5 8.0
  10. dtype: float64

2、通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFrame

  1. In [6]: dates = pd.date_range('20130101', periods=6)
  2. In [7]: dates
  3. Out[7]:
  4. DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
  5. '2013-01-05', '2013-01-06'],
  6. dtype='datetime64[ns]', freq='D')
  7. In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
  8. In [9]: df
  9. Out[9]:
  10. A B C D
  11. 2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
  12. 2013-01-02 1.212112 -0.173215 0.119209 -1.044236
  13. 2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
  14. 2013-01-04 0.721555 -0.706771 -1.039575 0.271860
  15. 2013-01-05 -0.424972 0.567020 0.276232 -1.087401
  16. 2013-01-06 -0.673690 0.113648 -1.478427 0.524988

3、通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame

  1. In [10]: df2 = pd.DataFrame({ 'A' : 1.,
  2. ....: 'B' : pd.Timestamp('20130102'),
  3. ....: 'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
  4. ....: 'D' : np.array([3] * 4,dtype='int32'),
  5. ....: 'E' : pd.Categorical(["test","train","test","train"]),
  6. ....: 'F' : 'foo' })
  7. ....:
  8. In [11]: df2
  9. Out[11]:
  10. A B C D E F
  11. 0 1.0 2013-01-02 1.0 3 test foo
  12. 1 1.0 2013-01-02 1.0 3 train foo
  13. 2 1.0 2013-01-02 1.0 3 test foo
  14. 3 1.0 2013-01-02 1.0 3 train foo

4、查看不同列的数据类型:

  1. In [12]: df2.dtypes
  2. Out[12]:
  3. A float64
  4. B datetime64[ns]
  5. C float32
  6. D int32
  7. E category
  8. F object
  9. dtype: object

5、如果你使用的是 IPython,使用 Tab 自动补全功能会自动识别所有的属性以及自定义的列,下图中是所有能够被自动识别的属性的一个子集:

  1. In [13]: df2.<TAB>
  2. df2.A df2.boxplot
  3. df2.abs df2.C
  4. df2.add df2.clip
  5. df2.add_prefix df2.clip_lower
  6. df2.add_suffix df2.clip_upper
  7. df2.align df2.columns
  8. df2.all df2.combine
  9. df2.any df2.combineAdd
  10. df2.append df2.combine_first
  11. df2.apply df2.combineMult
  12. df2.applymap df2.compound
  13. df2.as_blocks df2.consolidate
  14. df2.asfreq df2.convert_objects
  15. df2.as_matrix df2.copy
  16. df2.astype df2.corr
  17. df2.at df2.corrwith
  18. df2.at_time df2.count
  19. df2.axes df2.cov
  20. df2.B df2.cummax
  21. df2.between_time df2.cummin
  22. df2.bfill df2.cumprod
  23. df2.blocks df2.cumsum
  24. df2.bool df2.D