[TOC]
*****
分類數據對應的是統計學中的分類變量:擁有一些有限的值。比如說性別,類型等等。 分類的數據可以有序列性屬性,但是不支持數值類型的操作。
常用的場景如下:
1. 將一個只擁不是很多值的字符串變量轉換成分類變量可以節省內存
2. 分類變量可以讓數據有邏輯排序而不是詞匯(詞典)的排序,比如 One/two/three。詞匯排序,按首字母排序
3. 和其它Python庫交互時,它會被當做分類變量處理
### 1.6.1. 創建分類特征
**Series的創建**
```
import pandas as pd
# 設定dtype為category
s = pd.Series(["a", "b", "c", "a"], dtype="category")
```
分類數據顯示共有多少種值,重復的不顯示

*****
```
# 轉換已有的數據類型 將A列字符串類型轉換為分類數據類型
df = pd.DataFrame({"A": ["a", "b", "c", "a"]})
#將結果保存在dataframe的B列中
df["B"] = df["A"].astype('category')
```

*****
```
# 通過pandas.Categorical 對象進行創建
指定b c d是分類數據,同時它們有序,順序是categories列表順序, b<c<d
raw_cat = pd.Categorical(["a", "b", "c", "a"], categories=["b", "c", "d"],ordered=True)
#變為series
s = pd.Series(raw_cat)
```
創建結果,d在raw_cat中沒有出現,但d也被定義為分類數據,共有三個分類數據

*****
將分類數據變為dataFrame的一個列

*****
**DataFrame的創建**
和之前series創建類似,不過dataframe中可以批量的將列轉換格式
```
#將df_cat的兩列都轉換為category類型
```

*****

```
#collage列轉換為category類型
df['collage'] = df['collage'].astype("category")
```

### 1.6.2. 控制分類值行為:CategoricalDtype
"category"默認了分類值的行為:
* 類別從數據中繼續進行推斷
* 沒有排序的性質
```
from pandas.api.types import CategoricalDtype
s = pd.Series(['a','b','b','c','d'])
```

```
cat_type = CategoricalDtype(categories=['b','c','d'],ordered=True)
s.astype(cat_type)
```

一個分類的類別描述如下:
* categories:一個唯一值的序列并且沒有缺失值
* ordered: 是否排序,布爾類型
```
CategoricalDtype(categories=['b','c','d'],ordered=True)
```
### 1.6.3. 分類值的描述
```
df['collage'].describe()
```

### 1.6.4. 處理分類變量
分類數據擁有分類與排序的特征:包含了分類值展示以及值之間是否是有序的。我們可以通過 s.cat.categories 與 s.cat.ordered 進行操作。如果你沒有人為的設定類別與排序信息,它們會被自動推斷
**展示所有的分類值**

**是否有序**

**categories 和 方法 unique()返回的值是不一樣的**

*****
顯示series分類值

*****
顯示series唯一值

*****

*****

*****
series中沒有分類變量d

*****

#### 1.6.4.1. 排序
```
cat_type = CategoricalDtype(categories=['one','two','three'],ordered=True)
s = pd.Series(['one','three','one','two'])
#將series變為分類類型
s = s.astype(cat_type)
```

*****
可以得到分類變量的順序的最大最小值

- 第五節 Pandas數據管理
- 1.1 文件讀取
- 1.2 DataFrame 與 Series
- 1.3 常用操作
- 1.4 Missing value
- 1.5 文本數據
- 1.6 分類數據
- 第六節 pandas數據分析
- 2.1 索引選取
- 2.2. 分組計算
- 2.3. 表聯結
- 2.4. 數據透視與重塑(pivot table and reshape)
- 2.5 官方小結圖片
- 第七節 NUMPY科學計算
- 第八節 python可視化
- 第九節 統計學
- 01 單變量
- 02 雙變量
- 03 數值方法
- 第十節 概率
- 01 概率
- 02 離散概率分布
- 03 連續概率分布
- 第一節 抽樣與抽樣分布
- 01抽樣
- 02 點估計
- 03 抽樣分布
- 04 抽樣分布的性質
- 第十三節 區間估計
- 01總體均值的區間估計:??已知
- 02總體均值的區間估計:??未知
- 03總體容量的確定
- 04 總體比率