国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法

2020-01-04 14:11:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在人工采集數(shù)據(jù)時(shí),經(jīng)常有可能把空值和空格混在一起,一般也注意不到在本來(lái)為空的單元格里加入了空格。這就給做數(shù)據(jù)處理的人帶來(lái)了麻煩,因?yàn)榭罩岛涂崭穸际谴淼臒o(wú)數(shù)據(jù),而pandas中Series的方法notnull()會(huì)把有空格的數(shù)據(jù)也納入進(jìn)來(lái),這樣就不能完整地得到我們想要的數(shù)據(jù)了,這里給出一個(gè)簡(jiǎn)單的方法處理該問(wèn)題。

方法1:

既然我們認(rèn)為空值和空格都代表無(wú)數(shù)據(jù),那么可以先得到這兩種情況下的布爾數(shù)組。

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

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方法來(lái)修改變量VIN中的每個(gè)值。如果發(fā)現(xiàn)是空格,就返回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 pddf1 = 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替換為Noneprint data.where(data.notnull(), None)

輸出結(jié)果:

 col1 col2 col30 a  1 111 b  2 NaN col1 col2 col30 a  1 111 b  2 None

總結(jié):

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

以上這篇python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武宣县| 利辛县| 德令哈市| 淮北市| 晴隆县| 芷江| 嫩江县| 建宁县| 桂阳县| 洛宁县| 淮南市| 寿光市| 铜山县| 腾冲县| 凤阳县| 安岳县| 依安县| 宜章县| 隆德县| 凌海市| 广河县| 临夏县| 山阳县| 宁德市| 黄龙县| 太谷县| 青田县| 潜山县| 淳安县| 满洲里市| 辽中县| 萨嘎县| 永修县| 濉溪县| 疏附县| 高平市| 鸡西市| 汪清县| 隆安县| 凤山市| 蕲春县|