<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何利用 pandas 根據(jù)數(shù)據(jù)類型進(jìn)行篩選?

          共 951字,需瀏覽 2分鐘

           ·

          2021-10-23 10:49

          大家好,我是早起。

          前兩天,有一位讀者在知識(shí)星球提出了一個(gè)關(guān)于 pandas 數(shù)據(jù)清洗的問(wèn)題。

          他的數(shù)據(jù)大致如下現(xiàn)在希望分別做如下清洗

          1. A列中非字符行
          2. B列中非日期行
          3. C列中數(shù)值形式行(包括科學(xué)計(jì)數(shù)法的數(shù)值)
          4. D列中非整數(shù)行
          5. 刪掉C列中大小在10%-90%范圍之外的行

          其實(shí)本質(zhì)上都是「數(shù)據(jù)篩選」的問(wèn)題,先來(lái)模擬下數(shù)據(jù)

          如上圖所示,基本上都是根據(jù)數(shù)據(jù)類型進(jìn)行數(shù)據(jù)篩選,下面逐個(gè)解決。

          取出所有非整數(shù)類型

          讓我們從第 4 題開始,取出 D 列全部非整數(shù)行,其實(shí)在 pandas 中可以使用.is_integer() 判斷一個(gè)元素是否為整數(shù)。

          這樣我們就能結(jié)合 apply 函數(shù)找到全部整數(shù)行

          再使用 ~ 取其補(bǔ)集即可得到答案

          df[~df[['D']].apply(lambda?x:?x[0].is_integer(),?axis=1)]

          取出所有數(shù)值類型

          第 3 題要求取出 C 列所有數(shù)值形式的行。

          pandas 同樣有直接判斷的函數(shù) .isdigit() 判斷是否為數(shù)值。

          所以同上可以結(jié)合 apply 函數(shù)輕松搞定~

          df[df['C'].str.isdigit().isnull()].dropna()

          取出非日期行

          至于第 2 題,pandas 中雖有直接判斷時(shí)間格式函數(shù),但由于存在其他類型數(shù)據(jù),該列為object,并不能直接判斷。

          所以只要我們將該列轉(zhuǎn)換為時(shí)間格式(見習(xí)題 8-12)就會(huì)將不支持轉(zhuǎn)換的格式修改為缺失值

          這樣在轉(zhuǎn)換后刪除確實(shí)值即可

          取出非字符行

          至于第 1 題,我們可以借助 Python 中 isinstance 函數(shù)判斷一個(gè)變量是否為字符串格式

          再同樣借助 apply 函數(shù)即可找到全部字符串的行,然后使用 ~ 取其補(bǔ)集即可

          自定義異常值范圍

          最后是一個(gè)看上去是異常值處理的問(wèn)題,但本質(zhì)上還是數(shù)據(jù)篩選

          直接計(jì)算該列的指定范圍,并多條件篩選即可。

          至此我們就成功利用 pandas 根據(jù) 數(shù)據(jù)類型 進(jìn)行篩選值。其實(shí)這些題都在「pandas進(jìn)階修煉300題」中有類似的存在。

          瀏覽 76
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.九色| 久久午夜鲁丝片 | 日本在线视频www | 99热国产在线观看 | 操嫩逼视频 |