亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python?文件讀寫(xiě)和數(shù)據(jù)清洗

 更新時(shí)間:2022年08月19日 17:05:52   作者:數(shù)據(jù)打工人  
這篇文章主要介紹了python文件讀寫(xiě)和數(shù)據(jù)清洗,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)又是幫助

一、文件操作

  • pandas內(nèi)置了10多種數(shù)據(jù)源讀取函數(shù),常見(jiàn)的就是CSV和EXCEL
  • 使用read_csv方法讀取,結(jié)果為dataframe格式
  • 在讀取csv文件時(shí),文件名稱(chēng)盡量是英文
  • 讀取csv時(shí),注意編碼,常用編碼為utf-8、gbk 、gbk2312和gb18030等
  • 使用to_csv方法快速保存

1.1 csv文件讀寫(xiě)

#讀取文件,以下兩種方式:
#使用pandas讀入需要處理的表格及sheet頁(yè)
import pandas as pd
df = pd.read_csv("test.csv",sheet_name='sheet1') #默認(rèn)是utf-8編碼
#或者使用with關(guān)鍵字
with open("test.csv",encoding="utf-8")as df: 
    #按行遍歷
    for row in df:
        #修正
        row = row.replace('陰性','0').replace('00.','0.')
        ...
        print(row)

#將處理后的結(jié)果寫(xiě)入新表
#建議用utf-8編碼或者中文gbk編碼,默認(rèn)是utf-8編碼,index=False表示不寫(xiě)出行索引
df.to_csv('df_new.csv',encoding='utf-8',index=False) 

1.2 excel文件讀寫(xiě)

#讀入需要處理的表格及sheet頁(yè)
df = pd.read_excel('測(cè)試.xlsx',sheet_name='test')  
df = pd.read_excel(r'測(cè)試.xlsx') #默認(rèn)讀入第一個(gè)sheet

#將處理后的結(jié)果寫(xiě)入新表
df1.to_excel('處理后的數(shù)據(jù).xlsx',index=False)

二、數(shù)據(jù)清洗

2.1 刪除空值

# 刪除空值行
# 使用索引
df.dropna(axis=0,how='all')#刪除全部值為空的行
df_1 = df[df['價(jià)格'].notna()] #刪除某一列值為空的行
df = df.dropna(axis=0,how='all',subset=['1','2','3','4','5'])# 這5列值均為空,刪除整行
df = df.dropna(axis=0,how='any',subset=['1','2','3','4','5'])#這5列值任何出現(xiàn)一個(gè)空,即刪除整行

2.2 刪除不需要的列

# 使用del, 一次只能刪除一列,不能一次刪除多列 
del df['sample_1']  #修改源文件,且一次只能刪除一個(gè)
del df[['sample_1', 'sample_2']]  #報(bào)錯(cuò)

#使用drop,有兩種方法:
#使用列名
df = df.drop(['sample_1', 'sample_2'], axis=1) # axis=1 表示刪除列
df.drop(['sample_1', 'sample_2'], axis=1, inplace=True) # inplace=True, 直接從內(nèi)部刪除
#使用索引
df.drop(df.columns[[0, 1, 2]], axis=1, inplace=True) # df.columns[ ] #直接使用索引查找列,刪除前3列

2.3 刪除不需要的行

#使用drop,有兩種方法:
#使用行名
df = df.drop(['行名1', '行名2']) # 默認(rèn)axis=0 表示刪除行
df.drop(['行名1', '行名2'], inplace=True) # inplace=True, 直接從內(nèi)部刪除
#使用索引
df.drop(df.index[[1, 3, 5]]) # df.index[ ]直接使用索引查找行,刪除1,3,5行
df = df[df.index % 2 == 0]#刪除偶數(shù)行

2.4 重置索引

#在刪除了行列數(shù)據(jù)后,造成索引混亂,可通過(guò) reset_index重新生成連續(xù)索引
df.reset_index()#獲得新的index,原來(lái)的index變成數(shù)據(jù)列,保留下來(lái)
df.reset_index(drop=True)#不想保留原來(lái)的index,使用參數(shù) drop=True,默認(rèn) False
df.reset_index(drop=True,inplace=True)#修改源文件
#使用某一列作為索引
df.set_index('column_name').head()

2.5 統(tǒng)計(jì)缺失

#每列的缺失數(shù)量
df.isnull().sum()
#每列缺失占比
df3.isnull().sum()/df.shape[0]
#每行的缺失數(shù)量
df3.isnull().sum(axis=1)
#每行缺失占比
df3.isnull().sum(axis=1)/df.shape[1]

2.6 排序

#按每行缺失值進(jìn)行降序排序
df3.isnull().sum(axis=1).sort_values(ascending=False)
#按每列缺失率進(jìn)行降序排序
(df.isnull().sum()/df.isnull().count()).sort_values(ascending=False)

到此這篇關(guān)于python 文件讀寫(xiě)和數(shù)據(jù)清洗的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python類(lèi)裝飾器實(shí)現(xiàn)方法詳解

    Python類(lèi)裝飾器實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Python類(lèi)裝飾器實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python類(lèi)裝飾器的相關(guān)概念、原理、實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下
    2018-12-12
  • pytorch索引查找 index_select的例子

    pytorch索引查找 index_select的例子

    今天小編就為大家分享一篇pytorch索引查找 index_select的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • jupyter 中文亂碼設(shè)置編碼格式 避免控制臺(tái)輸出的解決

    jupyter 中文亂碼設(shè)置編碼格式 避免控制臺(tái)輸出的解決

    這篇文章主要介紹了jupyter 中文亂碼設(shè)置編碼格式 避免控制臺(tái)輸出的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 使用Pyrex來(lái)擴(kuò)展和加速Python程序的教程

    使用Pyrex來(lái)擴(kuò)展和加速Python程序的教程

    這篇文章主要介紹了使用Pyrex來(lái)擴(kuò)展和加速Python程序的教程,來(lái)自IBM官方技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python使用thread模塊實(shí)現(xiàn)多線(xiàn)程的操作

    Python使用thread模塊實(shí)現(xiàn)多線(xiàn)程的操作

    線(xiàn)程(Threads)是操作系統(tǒng)提供的一種輕量級(jí)的執(zhí)行單元,可以在一個(gè)進(jìn)程內(nèi)并發(fā)執(zhí)行多個(gè)任務(wù),每個(gè)線(xiàn)程都有自己的執(zhí)行上下文,包括棧、寄存器和程序計(jì)數(shù)器,本文給大家介紹了Python使用thread模塊實(shí)現(xiàn)多線(xiàn)程的操作,需要的朋友可以參考下
    2024-10-10
  • 手把手帶你了解python多進(jìn)程,多線(xiàn)程

    手把手帶你了解python多進(jìn)程,多線(xiàn)程

    這篇文章主要介紹了python多線(xiàn)程與多進(jìn)程及其區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python 創(chuàng)建子進(jìn)程模塊subprocess詳解

    Python 創(chuàng)建子進(jìn)程模塊subprocess詳解

    這篇文章主要介紹了Python 創(chuàng)建子進(jìn)程模塊subprocess詳解,本文詳細(xì)講解了subprocess模塊的方法、參數(shù)、使用實(shí)例等,需要的朋友可以參考下
    2015-04-04
  • python裝飾器代替set get方法實(shí)例

    python裝飾器代替set get方法實(shí)例

    今天小編就為大家分享一篇python裝飾器代替set get方法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • matplotlib共享坐標(biāo)軸的實(shí)現(xiàn)(X或Y坐標(biāo)軸)

    matplotlib共享坐標(biāo)軸的實(shí)現(xiàn)(X或Y坐標(biāo)軸)

    在作圖的過(guò)程中,我們經(jīng)常會(huì)遇到子圖共用坐標(biāo)軸的情況,或是共用橫軸標(biāo)軸,也可能是縱坐標(biāo)軸。本文就介紹了matplotlib共享坐標(biāo)軸,感興趣的可以了解一下
    2021-05-05
  • Python常用小技巧總結(jié)

    Python常用小技巧總結(jié)

    這篇文章主要介紹了Python常用小技巧,實(shí)例總結(jié)了Python關(guān)于字典、字符串、隨機(jī)數(shù)等操作技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-06-06

最新評(píng)論