91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pandas怎么處理缺失值指令

發布時間:2020-07-30 13:39:59 來源:億速云 閱讀:200 作者:小豬 欄目:開發技術

這篇文章主要講解了Pandas怎么處理缺失值指令,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

前言

運用pandas 庫對所得到的數據進行數據清洗,復習一下相關的知識。

1 數據清洗

1.1 處理缺失數據

對于數值型數據,分為缺失值(NAN)和非缺失值,對于缺失值的檢測,可以通過Python中pandas庫的Series類對象的isnull方法進行檢測。

import pandas as pd
import numpy as np
string_data = pd.Series(['Benzema', 'Messi', np.nan, 'Ronaldo'])
string_data.isnull()

對于缺失值,除了np.nan來表示,還可以用None來表示缺失值

string_data = None

1.2 濾除掉缺失數據

1.2.1 對于Series

使用dropna方法將NAN的數據過濾掉。

from numpy import nan as NA
import pandas as pd
data = pd.Series([1,NA,4.5,NA,5])
data.dropna()

另一種方法是使用布爾值索引對NAN數據進行過濾:

data[data.notnull()]

1.2.2 對于DataFrame

dropna()方法對于DataFrame的數據來說,會將含有NAN數據的行全部扔掉。

data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
           [NA, NA, NA], [NA, 6.5, 3.]])
data
data.dropna()

如果只想刪除掉那些行中全部為NAN數據的DataFrame,通過設置dropna()方法中的參數how即可。

data.dropna(how = 'all')

如果操作對象變為列,代碼如下:

data[4] = NA
data
data.dropna(axis=1, how = 'all')

如果想留下其中的一部分數據,則可以設置thresh參數:

df = pd.DataFrame(np.random.randn(7, 3))
df.iloc[:4, 1] = NA
df.iloc[:2, 2] = NA
df
df.dropna(thresh = 2)

thresh = n,參數n相當于保留至少含有n個非NA的行

1.3 填充缺失數據

fillna(n),n替換掉NA

df = pd.DataFrame(np.random.randn(7, 3))
df.fillna(0)

如果填充格式是字典,fillna({0:n1,1:n2}),將列0的NA填充為 n1,將列1的NA填充為 n2。

df.fillna({{1 : 0.2,2 : 0.3}})

直接填充df的NA值,直接改變df,不需要命名新的變量。

df.fillna(0, inplace = True)

2 數據轉換

2.1 移除重復數據

data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'],
           'k2': [1, 1, 2, 3, 3, 4, 4]})
data.duplicated()

返回的是每一行的重復結果,不重復是False,重復是True。

如果要去除重復的行,代碼如下:

data.drop_duplicates()

如果操作對象為列,在duplicated方法中指定參數即可。

data['k3'] = range(7)
data.duplicated(['k1'])

返回的是 k1 列中重復的元素。

對于drop_duplicates()方法來說,去除掉的是重復數據的后者。比如說序號為0,1的數據重復,方法刪除掉index = 1的行。如果想要刪除前者,只需要指定參數 last即可:

data.drop_duplicates(['k1'], keep = 'last')

2.2 與映射相結合

map函數的使用方法

list(map(lambda x : 2 * x , range(10)))

2.3 替換

使用的是replace 方法,replace有兩個參數,前者是被替換的數,后者是替換的數,參數格式可以是列表,也可以是字典

data = pd.Series([1., -999., 2., -999., -1000., 3.])
data.replace(-999.0, np.nan) #替換單個值
data.replace([-999.0, -1000.0], np.nan) #用一個值替換多個值
data.replace([-999.0, -1000.0],[np.nan, 0]) # 用不同值替換不同值
data.replace({-999.0 : 0, -1000.0 : np.nan}) # 格式為字典

2.4 創建數據的修改版

rename方法可以創建數據的修改版,而不必在原數據上進行修改。

data.rename(index=str.title, columns=str.upper)

還可以使用字典的格式,對index, columns 進行改變。

data.rename(index = {'OHIO': 'INDIANA'}, columns = {'three': 'peekaboo'})

這樣的重命名并不對原數據進行修改,如果想要直接改變data, 如上,參數inplace = True即可。

data.rename(index = {'OHIO': 'INDIANA'}, columns = {'three': 'peekaboo'}, inplace = True)
data

這樣就改變了data。

2.5 計算指標\啞變量

用于機器學習中,對定類數據的轉化,用于將df中的object對象轉化為One-hot編碼,消除了數字間的比較大小問題。

df = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'b'],
          'data1': range(6)})
pd.get_dummies(df['key']) # 分解了key 列,分開了三個屬性

如果想在分開的屬性前面加上前綴的話,設定prefix 參數即可實現該功能,可以將其與原始數據合并在一起。

dummies = pd.get_dummies(df['key'], prefix = 'key')
df_with_dummies = df['data1'].join(dummies)
df_with_dummies

看完上述內容,是不是對Pandas怎么處理缺失值指令有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临高县| 拉萨市| 明星| 新绛县| 清徐县| 枞阳县| 吉安县| 西乡县| 安丘市| 上饶县| 桦甸市| 渭源县| 余江县| 额尔古纳市| 临澧县| 富蕴县| 九江县| 夏河县| 孝昌县| 江都市| 永州市| 贞丰县| 宕昌县| 墨玉县| 文水县| 慈利县| 廊坊市| 长白| 曲靖市| 钦州市| 禹州市| 驻马店市| 浮梁县| 安溪县| 天峻县| 宝鸡市| 南平市| 曲松县| 林口县| 黄大仙区| 溧水县|