<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [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") ``` 分類數據顯示共有多少種值,重復的不顯示 ![](https://img.kancloud.cn/26/75/2675dc7ced57a9086cce57906bfe8827_368x135.png) ***** ``` # 轉換已有的數據類型 將A列字符串類型轉換為分類數據類型 df = pd.DataFrame({"A": ["a", "b", "c", "a"]}) #將結果保存在dataframe的B列中 df["B"] = df["A"].astype('category') ``` ![](https://img.kancloud.cn/30/5e/305ec1275e40412dfd08fdfb920689d0_311x133.png) ***** ``` # 通過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也被定義為分類數據,共有三個分類數據 ![](https://img.kancloud.cn/b4/49/b44975d31097552d6823c353ee9fac38_382x281.png) ***** 將分類數據變為dataFrame的一個列 ![](https://img.kancloud.cn/44/75/4475515462f9f8c9d522b98cc03b9dfa_467x305.png) ***** **DataFrame的創建** 和之前series創建類似,不過dataframe中可以批量的將列轉換格式 ``` #將df_cat的兩列都轉換為category類型 ``` ![](https://img.kancloud.cn/58/72/58720beeb94988e111175825eeffd030_731x367.png) ***** ![](https://img.kancloud.cn/8e/c0/8ec09c34ded969ec69209c8b74408b40_289x226.png) ``` #collage列轉換為category類型 df['collage'] = df['collage'].astype("category") ``` ![](https://img.kancloud.cn/0d/76/0d76287de989c938bca641d2111cae58_1288x283.png) ### 1.6.2. 控制分類值行為:CategoricalDtype "category"默認了分類值的行為: * 類別從數據中繼續進行推斷 * 沒有排序的性質 ``` from pandas.api.types import CategoricalDtype s = pd.Series(['a','b','b','c','d']) ``` ![](https://img.kancloud.cn/86/03/8603fe3e9ef8113ceeacabfbed61bafe_162x175.png) ``` cat_type = CategoricalDtype(categories=['b','c','d'],ordered=True) s.astype(cat_type) ``` ![](https://img.kancloud.cn/f7/e6/f7e6e1bad38b0f56e8335bb517702b12_366x151.png) 一個分類的類別描述如下: * categories:一個唯一值的序列并且沒有缺失值 * ordered: 是否排序,布爾類型 ``` CategoricalDtype(categories=['b','c','d'],ordered=True) ``` ### 1.6.3. 分類值的描述 ``` df['collage'].describe() ``` ![](https://img.kancloud.cn/a5/d6/a5d6e214262c0882eb85d33ae815bcf2_324x124.png) ### 1.6.4. 處理分類變量 分類數據擁有分類與排序的特征:包含了分類值展示以及值之間是否是有序的。我們可以通過 s.cat.categories 與 s.cat.ordered 進行操作。如果你沒有人為的設定類別與排序信息,它們會被自動推斷 **展示所有的分類值** ![](https://img.kancloud.cn/a7/89/a7893d90306d1fa8d26b760c681a99a0_649x294.png) **是否有序** ![](https://img.kancloud.cn/37/03/3703c0caa117c7572253e7182b47b85d_508x177.png) **categories 和 方法 unique()返回的值是不一樣的** ![](https://img.kancloud.cn/7a/71/7a717c55ca8b51ea22f381680f902974_634x227.png) ***** 顯示series分類值 ![](https://img.kancloud.cn/f4/90/f490ae44cb3155d3f54e273542831219_409x78.png) ***** 顯示series唯一值 ![](https://img.kancloud.cn/05/56/0556ef00056110b50ae69c3120e3c26a_351x91.png) ***** ![](https://img.kancloud.cn/76/01/7601d0559f966435a92893ac7d4136a5_396x242.png) ***** ![](https://img.kancloud.cn/9a/57/9a57ff666d5cb8d41e5d31db193fe370_393x240.png) ***** series中沒有分類變量d ![](https://img.kancloud.cn/54/1c/541cba994b7fd1feb291c71343eb0dca_359x201.png) ***** ![](https://img.kancloud.cn/ff/c8/ffc81962d03621aecfc4908d68107e4c_395x197.png) #### 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) ``` ![](https://img.kancloud.cn/d6/d3/d6d370f429105fb988674cf37bd0c18d_406x136.png) ***** 可以得到分類變量的順序的最大最小值 ![](https://img.kancloud.cn/76/19/76197c9534161391d329c656003ddc3c_160x166.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看