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

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.

主站蜘蛛池模板: 苍溪县| 新沂市| 沙雅县| 富阳市| 闽清县| 手游| 普定县| 门头沟区| 新龙县| 临朐县| 广平县| 沧州市| 东源县| 彭水| 屯昌县| 原平市| 新沂市| 日照市| 石棉县| 泾川县| 临汾市| 集安市| 汝州市| 古丈县| 黎平县| 思茅市| 上饶县| 仁化县| 城口县| 桐梓县| 三亚市| 莱阳市| 赣州市| 常熟市| 广平县| 威远县| 凉城县| 鄂伦春自治旗| 荥阳市| 霸州市| 简阳市|