官术网_书友最值得收藏!

Converting categorical variables

As you already have noticed, a data frame can contain columns with the data of different types. To see which type has each column, we can check the dtypes attribute of the data frame. You can think about Python attributes as being similar to Swift properties:

In []: 
df.dtypes 
Out[]: 
length    float64 
color      object 
fluffy       bool 
label      object 
dtype: object 

While length and fluffy columns contain the expected datatypes, the types of color and label are less transparent. What are those objects? This means those columns can contain any type of the object. At the moment, we have strings in them, but what we really want them to be are categorical variables. In case you don't remember from the previous chapter, categorical variables are like Swift enums. Fortunately for us, data frame has handy methods for converting columns from one type to another:

In []: 
df.color = df.color.astype('category') 
df.label = df.label.astype('category')  

That's it. Let's check:

In []: 
df.dtypes 
Out []: 
length     float64 
color     category 
fluffy        bool 
label     category 
dtype: object  

color and label are categories now. To see all colors in those categories, execute:

In []: 
colors = df.color.cat.categories.get_values().astype('string') 
colors 
Out[]: 
array(['light black', 'pink gold', 'purple polka-dot', 'space gray'], dtype='|S16') 

As expected, we have four colors. '|S16' stands for strings of 16 characters in length.

主站蜘蛛池模板: 霸州市| 康平县| 柘城县| 鄂温| 黔东| 嵩明县| 搜索| 屯昌县| 南丹县| 井冈山市| 通辽市| 鲁甸县| 志丹县| 南召县| 洛浦县| 安庆市| 分宜县| 凤翔县| 华坪县| 共和县| 乌兰县| 桃园县| 澎湖县| 遵义县| 肥东县| 沅江市| 穆棱市| 平原县| 菏泽市| 花莲市| 博白县| 石景山区| 伊宁县| 白河县| 浠水县| 绥江县| 临城县| 隆子县| 灌南县| 宜阳县| 焦作市|