pandas 學習 第1篇:pandas基礎

pandas是基於NumPy構建的模塊,含有使數據分析更快更簡單的操做工具和數據結構,包含序列Series和數據框DataFrame兩種最主要數據結構,Index也是pandas中很是重要的數據結構。html

一,數據結構

數據框(DataFrame)相似於二維的關係表,每列的數據類型是相同的,列與列的數據類型能夠不一樣,也能夠相同。數據框的結構是行和列,列有列名,行有行索引,行索引還能夠設置標籤。數據庫

序列(Series)能夠認爲是二維表中的一列,所以,能夠把數據框的一列轉換爲序列。在pandas中,序列是具備單一類型的一維數組,表示多行一列的數據結構,因爲一列中的元素必須是相同的,所以,序列中的數據具備相同的數據類型。和數據框同樣,序列具備行索引和行標籤屬性,每行都有一個索引和行標籤。數組

import pandas as pd

除了Series和DataFrame以外,pandas還有一個很是重要的數據結構:Index,索引用來訪問行,實現數據行的有序存儲,並能對Series和DataFrame進行切片訪問。數據結構

二,pandas的數據類型

在大多數狀況下,pandas使用NumPy的數組和dtypes做爲序列和數據框中列的數據類型,NumPy支持的數據類型是float、int、bool、timedelta64[ns]。pandas擴展了NumPy的類型系統,用dtype屬性來顯示元素的數據類型,pandas主要有如下幾種dtype:函數

  • 字符串類型:object
  • 整數類型:Int64,Int32,Int8
  • 浮點數類型:float64,float32
  • datetime64[ns]、datetime64[ns, tz]、timedelta[ns]:表示日期和時間類型
  • bool:表示布爾類型
  • category:表示分類

查看變量的數據類型,使用type(var)函數工具

type(obj)

1,數值類型spa

pandas中的整數類型和浮點數類型能夠爲空(NULL),在定義數據組或序列時,使用dtype參數來定義整數類型:code

arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
pd.array([1, 2, np.nan], dtype="Int64")
pd.Series([1, 2, np.nan], dtype="Int32")

使用float3二、float64定義浮點數類型:htm

>>> pd.Series([1, 2, np.nan], dtype="float32")
0    1.0
1    2.0
2    NaN
dtype: float32

2,字符串類型blog

使用object來表示字符串類型

>>> pd.Series(['a', 'b', 'c'], dtype="object")
0    a
1    b
2    c
dtype: object

3,日期和時間類型類型

datetime64[ns] 表示的是日期和時間類型

>>> pd.Series(['2018-07-01', '2019-07-01', '2019-10-01'], dtype="datetime64[ns]")
0   2018-07-01
1   2019-07-01
2   2019-10-01
dtype: datetime64[ns]

4,類型轉換

類型轉換可使用astype()函數,轉換爲特定的額數據類型:

>>> pd.Series(['2018-07-01', '2019-07-01', '2019-10-01']).astype('datetime64[ns]')
0   2018-07-01
1   2019-07-01
2   2019-10-01
dtype: datetime64[ns]

pandas還有類型轉換的特殊函數,用於轉換爲特定的數據類型:

  • to_numeric() 
  • to_datetime() 
  • to_timedelta() 

好比,把序列轉換爲日期類型:

>>> pd.to_datetime(pd.Series(['2018-07-01', '2019-07-01', '2019-10-01']))
0   2018-07-01
1   2019-07-01
2   2019-10-01
dtype: datetime64[ns]

三,pandas的優點

  • 輕鬆處理數值型數據中的缺失數據(表示爲Nan)
  • 能夠從DataFrame和Series中插入和刪除行數據和列數據,行和列都是能夠變化的
  • 自動數據對齊
  • 能夠對數據進行分組聚合操做
  • 強大的IO工具,用於從平面文件(CSV或格式化文件),Excel文件數據庫加載數據
  • 時間序列處理,可以生成日期範圍、進行移動窗口統計、移動窗口線性迴歸、日期轉換等操做

 

參考文檔:

pandas overview

相關文章
相關標籤/搜索