1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        分享6個(gè)祖?zhèn)鞯膒andas數(shù)據(jù)處理代碼

        共 2293字,需瀏覽 5分鐘

         ·

        2022-04-14 04:37

        ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

        后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包


        今天和大家分享自己總結(jié)的6個(gè)常用的Pandas數(shù)據(jù)處理代碼,對(duì)于經(jīng)常處理數(shù)據(jù)的coder最好熟練掌握。

        選取有空值的行

        在觀察數(shù)據(jù)結(jié)構(gòu)時(shí),該方法可以快速定位存在缺失值的行。

        df?=?pd.DataFrame({'A':?[0,?1,?2],
        ???????????????????'B':?[0,?1,?None],
        ???????????????????'C':?[0,?None,?2]})
        df[df.isnull().T.any()]

        輸出:

        ??A???B???C???????????A???B???C
        0?0?0.0?0.0?????????1?1?1.0?NaN
        1?1?1.0?NaN???-->???2?2?NaN?2.0
        2?2?NaN?2.0

        快速替換列值

        實(shí)際數(shù)據(jù)處理經(jīng)常會(huì)根據(jù)一些限定條件來替換列中的值。

        df?=?pd.DataFrame({'name':['Python',?'Java',?'C']})

        #?第一種方式
        df['name'].replace('Java',?'JavaScript',?inplace=True)
        #?第二種方式
        df.loc[df['name'].str.contains('Java'),?'name']?=?'JavaScript'

        輸出:

        ?????name???????????????????name
        0??Python??????????0??????Python
        1????Java????--->??1??JavaScript
        2???????C??????????2???????????C

        對(duì)列進(jìn)行分區(qū)

        很多情況下,對(duì)于數(shù)值類型的數(shù)據(jù),我們需要分區(qū)來計(jì)算每個(gè)區(qū)間數(shù)據(jù)出現(xiàn)的頻率。這時(shí)用 pd.cut 就能很好的解決這一問題。

        import?random

        age?=?random.sample(range(90),?20)
        cut_res?=?pd.cut(age,?bins=[0,?18,?35,?60,?90])
        # cut_res type:
        cut_res.value_counts()

        輸出:

        (0,?18]?????6
        (18,?35]????1
        (35,?60]????6
        (60,?90]????7

        將一列分為多列

        在文本數(shù)據(jù)清洗時(shí),一些列中存在分隔符('', ',', ':')分隔的值,我們只需將該列根據(jù)分隔符進(jìn)行 split 即可。

        import?pandas?as?pd

        df?=?pd.DataFrame({'address':?['四川省?成都市',
        ???????????????????????????????'湖北省?武漢市',
        ???????????????????????????????'浙江省?杭州市']})
        res?=?df['address'].str.split('?',?expand=True)??
        res.columns?=?['province',?'city']

        輸出:

        ??province?city
        0?四川省????成都市
        1?湖北省????武漢市
        2?浙江省????杭州市

        expand參數(shù)選擇是否擴(kuò)展為 DataFrameFalse 則返回 Series

        中文篩選

        同樣在清洗過程中,往往會(huì)出現(xiàn)一些不需要的中文字段,這時(shí)直接用 str.contains 篩選即可。

        df?=?pd.DataFrame({'mobile_phone':
        ???????????????????['15928765644',
        ????????????????????'15567332235',
        ????????????????????'暫無']})
        df[~df['mobile_phone'].str.contains('[\u4e00-\u9fa5]')]

        輸出:

        ??mobile_phone?????????mobile_phone
        0?15928765644????????0?15928765644
        1?15567332235???-->??1?15567332235
        2?暫無

        更改列的位置

        有時(shí)我們需要調(diào)整列的位置,當(dāng)數(shù)據(jù)列較少時(shí),可以用下面的方式

        df?=?pd.DataFrame({'name':?['A',?'B',?'C'],
        ???????????????????'age':?[10,?20,?30],
        ???????????????????'gender':?[0,?1,?0]})
        df?=?df[['name',?'gender',?'age']]

        輸出:

        ?name?age?gender????name?gender?age
        0???A??10?0????????0???A?0???????10
        1???B??20?1???-->??1???B?1???????20
        2???C??30?0????????2???C?0???????30

        如果列較多,那么,一個(gè)個(gè)列舉出來會(huì)比較繁瑣,推薦下面插入的方式。

        col?=?df['gender']
        df.drop('gender',?axis=1,?inplace=True)
        df.insert(1,?'gender',?col)

        這就是今天分享的主要內(nèi)容,實(shí)踐永遠(yuǎn)是最好的學(xué)習(xí)方式,記憶的也更牢固。原創(chuàng)不易,如果能點(diǎn)個(gè)贊就是對(duì)小編最大的支持!


        1. 終于,Python 也可以寫前端了

        2. 百看不如一練, 247 個(gè) Python 實(shí)戰(zhàn)案例!


        您看此文用???分??秒,轉(zhuǎn)發(fā)只需1秒
        瀏覽 46
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产成人视频免费观看 | 一级国产片 | 久久爱av影视天堂影视 | 国产大屁股喷水视频在线观看 | 特级A级毛片 | jizzzz成熟丰满韩国女视频 | 久久精品国产亚洲 | 噢宝贝儿夹得父皇太紧了h | 91av视频在线 | 偷拍一页 |