中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python pandas消除空值和空格以及 Nan數據替換方法

發布時間:2020-10-03 09:51:16 來源:腳本之家 閱讀:1317 作者:alanhu1024 欄目:開發技術

在人工采集數據時,經常有可能把空值和空格混在一起,一般也注意不到在本來為空的單元格里加入了空格。這就給做數據處理的人帶來了麻煩,因為空值和空格都是代表的無數據,而pandas中Series的方法notnull()會把有空格的數據也納入進來,這樣就不能完整地得到我們想要的數據了,這里給出一個簡單的方法處理該問題。

方法1:

既然我們認為空值和空格都代表無數據,那么可以先得到這兩種情況下的布爾數組。

這里,我們的DataFrame類型的數據集為df,其中有一個變量VIN,那么取得空值和空格的布爾數組為NONE_VIN。然后通過該布爾數組,就能得到我們要的數據了

NONE_VIN = (df["VIN"].isnull()) | (df["VIN"].apply(lambda x: str(x).isspace()))
df_null = df[NONE_VIN]
df_not_null = df[~NONE_VIN]

方法2:

直接使用Series的.apply方法來修改變量VIN中的每個值。如果發現是空格,就返回Nan,否則就返回原值。

df["VIN"]=df["VIN"].apply(lambda x: np.NaN if str(x).isspace() else x)
df_null = df[df["VIN"].isnull()]
df_not_null = df[df["VIN"].notnull()]

將dataframe中的NaN替換成希望的值

import pandas as pd
df1 = pd.DataFrame([{'col1':'a', 'col2':1}, {'col1':'b', 'col2':2}])
df2 = pd.DataFrame([{'col1':'a', 'col3':11}, {'col1':'c', 'col3':33}])

data = pd.merge(left=df1, right=df2, how='left', left_on='col1', right_on='col1')
print data
# 將NaN替換為None
print data.where(data.notnull(), None)

輸出結果:

 col1 col2 col3
0 a  1 11
1 b  2 NaN
 col1 col2 col3
0 a  1 11
1 b  2 None

總結:

方法1的思路就是直接判定是否為空格,把空格納入到選擇中來。方法2的思路是先把空格轉換為NaN,然后正常使用.isnull()或.notnull()來得到我們想要的數據。

以上這篇python pandas消除空值和空格以及 Nan數據替換方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

喀喇| 河津市| 乐亭县| 安庆市| 额尔古纳市| 明光市| 扎兰屯市| 崇信县| 苍梧县| 浮梁县| 察雅县| 龙川县| 阜康市| 庐江县| 白玉县| 正宁县| 赣州市| 宁远县| 钟祥市| 浦北县| 繁昌县| 远安县| 枞阳县| 卢湾区| 布尔津县| 博乐市| 柳江县| 瑞昌市| 健康| 华坪县| 平潭县| 金塔县| 靖安县| 德昌县| 沛县| 教育| 镇平县| 油尖旺区| 东阳市| 凤翔县| 曲阳县|