數據分析學習筆記2-----pandas
阿新 • • 發佈:2018-09-22
ear 序列 解釋 它的 轉換 嵌套 class 不同的 而不是
要使用pandas,你首先就得熟悉它的兩個主要數據結構:Series和DataFrame。
1.Series
Series是一種類似於一維數組的對象,它由一組數據(各種NumPy數據類型)以及一組與之相關的數據標簽(即索引)組成
In [11]: obj = pd.Series([4, 7, -5, 3]) In [12]: obj Out[12]: 0 4 1 7 2 -5 3 3 dtype: int64
In [15]: obj2 = pd.Series([4, 7, -5, 3], index=[‘d‘, ‘b‘, ‘a‘, ‘c‘]) In [16]: obj2 Out[16]: d 4 b 7 a -5 c 3 dtype: int64 In [17]: obj2.index Out[17]: Index([‘d‘, ‘b‘, ‘a‘, ‘c‘], dtype=‘object‘)
2.DataFrame
DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數據是以一個或多個二維塊存放的(而不是列表、字典或別的一維數據結構)。
data = {‘state‘: [‘Ohio‘, ‘Ohio‘, ‘Ohio‘, ‘Nevada‘, ‘Nevada‘, ‘Nevada‘], ‘year‘: [2000, 2001, 2002, 2001, 2002, 2003], ‘pop‘: [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]} frame = pd.DataFrame(data) In [45]: frame Out[45]: pop state year 0 1.5 Ohio 2000 1 1.7 Ohio 2001 2 3.6 Ohio 2002 3 2.4 Nevada 2001 4 2.9 Nevada 2002 5 3.2 Nevada 2003
如果指定了列序列,則DataFrame的列就會按照指定順序進行排列.
In [47]: pd.DataFrame(data, columns=[‘year‘, ‘state‘, ‘pop‘]) Out[47]: year state pop 0 2000 Ohio 1.5 1 2001 Ohio 1.7 2 2002 Ohio 3.6 3 2001 Nevada 2.4 4 2002 Nevada 2.9 5 2003 Nevada 3.2
如果嵌套字典傳給DataFrame,pandas就會被解釋為:外層字典的鍵作為列,內層鍵則作為行索引
In [66]: frame3 = pd.DataFrame(pop) In [67]: frame3 Out[67]: Nevada Ohio 2000 NaN 1.5 2001 2.4 1.7 2002 2.9 3.6
索引對象
pandas的索引對象負責管理軸標簽和其他元數據(比如軸名稱等)。構建Series或DataFrame時,所用到的任何數組或其他序列的標簽都會被轉換成一個Index。
In [76]: obj = pd.Series(range(3), index=[‘a‘, ‘b‘, ‘c‘]) In [77]: index = obj.index In [78]: index Out[78]: Index([‘a‘, ‘b‘, ‘c‘], dtype=‘object‘) In [79]: index[1:] Out[79]: Index([‘b‘, ‘c‘], dtype=‘object‘)
數據分析學習筆記2-----pandas