欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas剔除混合數(shù)據(jù)中非數(shù)字的數(shù)據(jù)操作

 更新時間:2021年03月26日 08:38:08   作者:zheng_weibin  
這篇文章主要介紹了Pandas剔除混合數(shù)據(jù)中非數(shù)字的數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我們?nèi)粘D玫降臄?shù)據(jù),指標字段有時會混入非數(shù)字的數(shù)據(jù),這時候會影響我們的操作

name height
Hang 180
Ben 145
Cho notknow
XIn 189

比如read_csv讀入時,該列會以object形式讀入,也不能直接進行計算,不然會出現(xiàn)如unsupported operand type(s) for +: 'float' and 'str'的錯誤

這時候就需要進行數(shù)據(jù)預(yù)處理,清除掉指標值中非數(shù)字的數(shù)據(jù),這里我以2012_FederalElectionCommission_Database數(shù)據(jù)為例。

首先讀入數(shù)據(jù),可以發(fā)現(xiàn)提示:Columns (6) have mixed types,這里Columns (6)是指標值混有字符串格式數(shù)據(jù)

fec = pd.read_csv('P00000001-ALL.csv')
D:\SOFTWARE\Anaconda\lib\site-packages\IPython\core\interactiveshell.py:2717: DtypeWarning: Columns (6) have mixed types. Specify dtype option on import or set low_memory=False.
 interactivity=interactivity, compiler=compiler, result=result)
#先使用str打開數(shù)據(jù)
fec = pd.read_csv('P00000001-ALL.csv',dtype={'contbr_zip':str})
 
#然后使用str函數(shù)isdigit()判斷單元格是否全為數(shù)字
 
fec_isnum=fec.iloc[:,6].str.isdigit()
 
#得到使用bool索引把全為數(shù)字的表格cleaned
 
cleaned = fec[fec_isnum].copy()

補充:pandas如何去掉、過濾數(shù)據(jù)集中的某些值或者某些行?

在進行數(shù)據(jù)分析與清理中,我們可能常常需要在數(shù)據(jù)集中去掉某些異常值。具體來說,看看下面的例子。

0.導(dǎo)入我們需要使用的包

import pandas as pd

pandas是很常用的數(shù)據(jù)分析,數(shù)據(jù)處理的包。anaconda已經(jīng)有這個包了,純凈版python的可以自行pip安裝。

1.去掉某些具體值

數(shù)據(jù)集df中,對于屬性appPlatform(最后一列),我們想刪除掉取值為2的那些樣本。

如何做?非常簡單。

import pandas as pd
df[(True-df['appPlatform'].isin([2]))]

當(dāng)然,有時候我們需要去掉不止一個值,這個時候只需要在isin([])的列表中添加。更具體來說,例如,對于appID這個屬性,我們想去掉appID=278和appID=382的樣本。

df[(True-df['appID'].isin([278,382]))]

另外,我們有時候并不只是考慮某一列,還需要考慮另外若干列的情況。例如,我們需要過濾掉appPlatform=2而且appID=278和appID=382的樣本呢?非常簡單。

df[(True-df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))]

其實,在這里我們看到,就是由兩部分組成的,第一部分就是appID中等于278和382的,另外一部分就是appPlatform中等于2的。兩者取邏輯關(guān)系 與(&)

2.過濾掉某個范圍的值

上面我們是了解了如何取掉某個具體值,下面,我們要看看如何過濾掉某個范圍的值。

對于數(shù)據(jù)集df,我們想過濾掉creativeID(第一列)中ID值大于10000的樣本。

df[df['creativeID']<=10000]

另外,如果要考慮多列的話,其實和上面一樣,將兩種情況做邏輯與(&)就可以,不過值得注意的是,每個條件要用括號()括起來。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Python+Pytest實現(xiàn)壓力測試詳解

    Python+Pytest實現(xiàn)壓力測試詳解

    在現(xiàn)代Web應(yīng)用程序中,性能是至關(guān)重要的。為了確保應(yīng)用程序能夠在高負載下正常運行,我們需要進行性能測試。本文就來用Pytest進行壓力測試,希望對大家有所幫助
    2023-03-03
  • 如何寫python的配置文件

    如何寫python的配置文件

    在本篇文章里小編給大家分享了關(guān)于python寫配置文件方法,對此有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • django 外鍵model的互相讀取方法

    django 外鍵model的互相讀取方法

    今天小編就為大家分享一篇django 外鍵model的互相讀取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python保存log日志,實現(xiàn)用log日志畫圖

    python保存log日志,實現(xiàn)用log日志畫圖

    今天小編就為大家分享一篇python保存log日志,實現(xiàn)用log日志來畫圖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 20個超實用Python自動化腳本分享

    20個超實用Python自動化腳本分享

    在當(dāng)今的快節(jié)奏工作環(huán)境中,自動化不再是一種奢侈,而是提高效率和精確性的必需手段,這篇文章為大家整理了20個超實用Python自動化腳本,希望對大家有所幫助
    2024-01-01
  • Python操作redis實例小結(jié)【String、Hash、List、Set等】

    Python操作redis實例小結(jié)【String、Hash、List、Set等】

    這篇文章主要介紹了Python操作redis的常見方法,結(jié)合實例形式總結(jié)分析了Python redis操作中String、Hash、List、Set等相關(guān)操作函數(shù)與使用技巧,需要的朋友可以參考下
    2019-05-05
  • 跟老齊學(xué)Python之正規(guī)地說一句話

    跟老齊學(xué)Python之正規(guī)地說一句話

    雖然在第一部分中,已經(jīng)零星涉及到語句問題,并且在不同場合也進行了一些應(yīng)用。畢竟不那么系統(tǒng)。本部分,就比較系統(tǒng)地介紹python中的語句。
    2014-09-09
  • python中的代碼運行時間獲取方式

    python中的代碼運行時間獲取方式

    這篇文章主要介紹了python中的代碼運行時間獲取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python 檢查數(shù)組元素是否存在類似PHP isset()方法

    Python 檢查數(shù)組元素是否存在類似PHP isset()方法

    isset方法來檢查數(shù)組元素是否存在,在Python中無對應(yīng)函數(shù),在Python中一般可以通過異常來處理數(shù)組元素不存在的情況,而無須事先檢查
    2014-10-10
  • python 遍歷列表提取下標和值的實例

    python 遍歷列表提取下標和值的實例

    今天小編就為大家分享一篇python 遍歷列表提取下標和值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論