Day 17 [Python ML、Pandas] 资料类型和遗失值

import pandas as pd
reviews = pd.read_csv("./winemag-data-130k-v2.csv", index_col=0)
pd.set_option('max_rows', 5)

Dtype

DataFrame或是Series的资料型态都是dtype

reviews.price.dtype
dtype('float64')
reviews.dtypes
country        object
description    object
                ...  
variety        object
winery         object
Length: 13, dtype: object

可以利用astype这个函数将资料型态进行转换

reviews.points.astype("float64")
0         87.0
1         87.0
          ... 
129969    90.0
129970    90.0
Name: points, Length: 129971, dtype: float64

dataframe的index也有一样的dtype

reviews.index.dtype
dtype('int64')

Missing Values

通常没有资料的资料型态会写做NaN,意思是Not a Number

pandas有提供一些方法可以处理这些空缺值,用pd.isnull(column)可以选取这些空值

reviews[pd.isnull(reviews.country)]
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}

填补这些空缺值是很常见的操作

pandas有提供一个简单的操作来解决这个问题fillna()

像是我们可以将NaN替换成Unknown

reviews.region_2.fillna("Unknown")
0         Unknown
1         Unknown
           ...   
129969    Unknown
129970    Unknown
Name: region_2, Length: 129971, dtype: object

若要将资料替换掉也有很方便的方式,可以使用replace()

reviews.taster_twitter_handle.replace("@kerinokeefe", "@kerino")
0            @kerino
1         @vossroger
             ...    
129969    @vossroger
129970    @vossroger
Name: taster_twitter_handle, Length: 129971, dtype: object

<<:  Day 18: Security Hub简介

>>:  Day 30 完赛心得

DAY17: 实作提交表单的Post请求

学完Get请求後就不免要学一下Post请求了,在DAY15: HTTP GET请求的开头有提到,Ge...

ISO 27001 资讯安全管理系统 【解析】(二十三)

识别情景 结合前面所有的资讯,我们可以将威胁利用弱点损害资产的机密性、可用性及完整性的情景重建与识...

第18车厢-动ㄘ动ㄘ!tab页签切换+轮播应用篇

本篇介绍透过bootstrap4直接使用tab切换功能,并且实作tab切换自动循环播放 我们在昨篇...

# Day26--要移花接木就是要rebase~

来聊聊rebase rebase本身就是两个字组成,「re+base」 实际在做的时候,我们大概可以...

day11 弱点 (雷)被加密被入侵都是人为因素多

来部落格看图文并茂文章 补觉鸣诗 在比较大的企业中会定期进行弱点扫描 弱点扫描 就是利用工具程序进行...