pandas庫的數據導入導出,缺失值,重復值處理和數據篩選,matplotlib庫 簡單圖繪制

目錄

一.數據導入導出

1.CSV文件讀取與參數說明

2.Excel與TST文件讀取

3.數據導出操作

二.缺失值處理

1.填充缺失值

2.刪除缺失值【刪除整行數據】

三.重復值處理

四.數據篩選與條件查詢

1.邏輯判斷+取數

2.字符匹配

3.邏輯運算: &(和)、|(或)


一.數據導入導出

Pandas支持多種數據格式,包括CSV、Excel(XLSX/XLS)、TST等

1.CSV文件讀取與參數說明

  • 使用read_csv()方法讀取CSV文件,自動識別逗號分隔符。
  • 參數header控制是否將第一行作為列名:
    • header=None表示無列名,第一行視為數據
  • 默認將第一行作為列名(如name, age, income)。
    import pandas as pddf_1 = pd.read_csv("data1.csv")
    print(df_1)name  age  income
    0   lili   20    2000
    1  peter   21    2300
    2    jim   22    2200

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

2.Excel與TST文件讀取

  • Excel文件通過read_excel()讀取,同樣支持header參數。
  • TST文件使用read_table(),需指定分隔符(sep參數)和是否包含列名。
    df_1 = pd.read_excel("data3.xlsx")name  age  income
    0   lili   20    2000
    1   lucy   20    2300
    2  peter   21    2400
    3  kitty   22    2500
    df_2 = pd.read_table("data4.txt",sep=',',header=None)0   1     2
    0   lili  20  2000
    1  peter  21  2300
    2    jim  22  2200

    3.數據導出操作

? ? ? ? ? ?導出CSV:to_csv()方法,參數包括:
? ? ? ? ? ?header=True(導出列名)。
? ? ? ? ? ?index=True(是否導出行索引)。
? ? ? ? ? ?導出Excel:to_excel()參數與CSV類似,僅格式不同。

import pandas as pddf_1 = pd.read_csv("data1.csv")
df_1.to_csv(r"導出的地址",index=True, header=True)
df_2 = pd.read_excel("data3.xlsx")
df_2.to_excel(r"導出的地址",index=True, header=True)

二.缺失值處理

缺失值處理方式:
1.數據補齊,填充缺失值 2.刪除對應數據行 3.不處理

  • 缺失數據在Pandas中顯示為NaN(如未填寫的單元格)。
  • 檢測缺失值:isnull()函數返回布爾類型DataFrame,標記空缺位置為True顯示如下
    import pandas as pd
    df = pd.read_csv(r"data.csv",encoding='gbk')
    na = df.isnull()

1.填充缺失值

使用 fillna()方法 填充缺失值

df1 = df.fillna('需要填充的值')

2.刪除缺失值【刪除整行數據】

df2 = df.dropna()

三.重復值處理

  • 通過?duplicated()?檢測重復行,返回布爾值標識重復項(完全相同的行或指定列重復)。
    import pandas as pd
    df = pd.read_csv(r"data1.csv",encoding='gbk')
    result1 = df.duplicated()

  • 根據列名(如?name?和?gender)判斷重復性,結合布爾索引提取重復行數據。
    result2 = df.duplicated('gender')
    

    result3 = df.duplicated(['gender', 'name'])
    

  • 使用?drop_duplicates()?刪除重復行,需注意刪除后索引可能不連續,需手動調整。
    #刪除完全重復行
    new_df1 = df.drop_duplicates()
    

    #刪除部分重復【根據某列名來刪除】
    new_df2 = df.drop_duplicates(['name', 'gender'])

四.數據篩選與條件查詢

1.邏輯判斷+取數

通過布爾條件(如 好評數 > 17000)篩選數據,生成 True/False 序列后提取對應行。
使用 between() 方法篩選數值范圍內的數據(如 好評數在15000到17000之間)。

import pandas as pddf = pd.read_csv(
r"data1.csv",encoding='gbk')#抽取好評數大于17000的電腦
df[df['好評數'] > 17000]
#抽取好評數在15000到17000之間的電腦
df[df['好評數'].between(15000, 17000)]

2.字符匹配

通過str.contains()方法篩選包含特定字符(如“蘋果”)的內容

na=False參數的作用(忽略缺失值)與na=True的區別(將缺失值納入匹配結果)。

df[df['品牌'].str.contains('蘋果',na=False)]

3.邏輯運算: &(和)、|(或)

&:所有條件都滿足則返回True

| :滿足一個條件就返回True

df[(df['價格']<7000) & (df['好評數'] > 16000)]
df[(df['價格']<6000) | (df['好評數']>18000)]

五.matplotlib庫 簡單圖繪制

?1.繪制點線圖:

通過plt.plot(x, y)傳入X/Y軸數據,設置顏色(color)和標記形狀(marker),添加標題(title)和軸標簽(xlabel/ylabel)。

import matplotlib.pyplot as plt
import numpy as np
x=np.array([1,2,3,4,5])
y=np.array([10,20,30,40,50])
plt.plot(x,y,color='red',marker='o')#點線圖
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

2.直方圖:

使用plt.hist()繪制單值條形圖

data = [1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data,color='red')
plt.show()

3.多子圖繪制

通過plt.subplot()在同一畫布上分區域繪制多個圖形(如正弦、余弦函數),結合np.linspace()生成等間隔數據點。

使用 plt.subplot 創建兩行兩列的子圖(共4個),圖像大小為10x8(單位未明確)。

  • 子圖通過矩陣(ndarray)管理,通過索引(如?ax[0,0])在指定位置添加數據:
    • 第0行第0列:繪制?X?和?y1(紅色),標題為?X sinex
    • 第0行第1列:繪制?X?和?y2(綠色),標題為?cosinex
    • 第1行第0列:繪制?X?和?y3(藍色)。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
y1=np.sin(x)
y2=np.cos(x)
y3=np.tan(x)
y4=np.sin(x**2)
fig,axs=plt.subplots(2,2,figsize=(10,8))
axs[0,0].plot(x,y1,'r')
axs[0,0].set_title('sin(x)')
axs[0,1].plot(x,y2,'g')
axs[0,1].set_title('cos(x)')
axs[1,0].plot(x,y3,'b')
axs[1,0].set_title('tan(x)')
axs[1,1].plot(x,y4,'m')
axs[1,1].set_title('sin(x^2)')
plt.show()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90203.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FPGA?如何實現另一個?FPGA?

如果你對 FPGA 有些了解&#xff0c;大概知道它的意思是“可編程邏輯器件”&#xff0c;可以把寫好的邏輯電路&#xff08;通常是 Verilog/VHDL&#xff09;通過工具綜合、布局布線、燒寫進去&#xff0c;讓一塊芯片變成“你想要的電路”。但如果我告訴你&#xff0c;現在有個開…

文思助手、新華妙筆 AI材料星的公文寫作深度測評

公文寫作一直都是體制內工作人員的日常核心任務&#xff0c;寫公文的難點不僅來自于對政策表述嚴謹性的高要求&#xff0c;也在于格式規范、內容深度以及效率壓力的多重考驗。隨著AI技術的發展&#xff0c;越來越多的文字輔助工具出現&#xff0c;很大程度的緩解了寫作壓力&…

Flutter開發環境搭建與工具鏈

Flutter開發實戰第1章&#xff1a;Flutter開發環境搭建與工具鏈1.1 Flutter簡介與優勢Flutter是Google推出的開源UI工具包&#xff0c;用于從單一代碼庫構建編譯為原生性能的移動、Web和桌面應用程序。Flutter的核心優勢包括&#xff1a;跨平臺一致性&#xff1a;一套代碼運行在…

io_uring:Linux異步I/O的革命性突破

目錄 1. io_uring是什么&#xff1f; io_uring核心優勢&#xff1a; 2. io_uring核心原理 2.1 雙環形緩沖區設計 2.2 關鍵數據結構 1、完成隊列CQ 2、提交隊列SQ 3、Params 3. io_uring工作流程 3.1 初始化階段 3.2 I/O操作流程 4. C代碼示例&#xff08;原始系統調…

線段樹學習筆記 - 練習題(2)

文章目錄1. 前言2. P3870 [TJOI2009] 開關3. P2184 貪婪大陸4. P1438 無聊的數列5. P1471 方差1. 前言 線段樹系列文章&#xff1a; 線段樹學習筆記。線段樹學習筆記 - 練習題&#xff08;1&#xff09;。 前一篇做了幾道線段樹的題目&#xff0c;這篇文章就繼續看下線段樹的…

Vue狀態管理:Pinia 與 Vuex 的使用方法與對比【文章附有完整案例】

最近在接手vue項目的需求&#xff0c;因為之前一直在做react的需求&#xff0c;日常的vue練習也少了很多&#xff0c;導致現在接手vue項目&#xff0c;很多關于vue的知識點基本上忘得干干凈凈了。但是好在有基礎&#xff0c;重新學也會很快掌握。分享這個過程中的一些復習內容。…

OpenMed 項目深度分析:推動醫療 NLP 領域的開源革命

摘要 醫療人工智能(AI)領域因高質量數據和模型的獲取受限而發展緩慢。OpenMed 項目通過開源超過380個醫療命名實體識別(NER)模型,顯著降低了研究與應用門檻。本文從項目背景、技術優勢、應用場景、實施挑戰及未來展望五個方面,系統分析 OpenMed 的核心價值與潛力,揭示其…

大模型開發

什么是Ai&#xff1f;AI的全拼是(Artificial Intelligence)人工智能&#xff0c;使機器能夠像人類一樣思考、學習和解決問題的技術。在AI的應用情況下我們更多的是學習自然語言處理。在自然語言處理(Natural Language Processing&#xff0c;NLP)中&#xff0c;有一項關鍵技術叫…

【正常配置了beast擴展,phpinfo信息也顯示了,但是就是不運行】

正常配置了beast擴展&#xff0c;phpinfo信息也顯示了&#xff0c;但是就是不運行場景原因解決排查過程擴展場景 項目中使用到了beast進行源碼保護&#xff0c;指定類存在&#xff0c;但是報錯信息提示類找不到&#xff0c;beast擴展添加到了正在運行的php版本下的ext文件夾下…

CRMEB 單商戶PRO多商戶通用去版權教程

CRMEB去版權教程&#xff0c;此教程可根據具體版本進行調整&#xff0c;基本適用次方法。 后端版權修改 修改后端管理底部版權及門店后端管理底部版權。 文件位置 \view\admin\src\components\copyright\index.vue 文件位置 \view\admin\src\router\routes.js 文件位置 \vi…

舊物回收小程序系統開發:重塑舊物回收產業新生態

在傳統觀念中&#xff0c;舊物回收往往給人一種臟亂差、效率低下的印象&#xff0c;回收過程繁瑣&#xff0c;回收渠道有限&#xff0c;導致許多可回收物被浪費。然而&#xff0c;隨著信息技術的飛速發展&#xff0c;舊物回收小程序系統的開發正為這一古老行業帶來前所未有的變…

SSE和WebSocket區別到底是什么

文章目錄SSE 與 WebSocket&#xff1a;深入剖析兩者核心差異核心差異&#xff1a;單向 vs. 雙向通信技術細節對比協議與連接數據格式錯誤處理與可靠性適用場景&#xff1a;何時選擇 SSE&#xff0c;何時選擇 WebSocket&#xff1f;總結SSE 與 WebSocket&#xff1a;深入剖析兩者…

西安電子科技大學金融學431考研經歷分享

考研數學是區分度最大的科目之一&#xff0c;如何高效備考&#xff1f;本文為你推薦多位名師和經典書籍&#xff0c;助你在每個階段都能穩步提升&#xff0c;最終沖刺成功。一、考研數學備考策略教師推薦① 高等數學&#xff1a;② 線性代數&#xff1a;③ 概率論與數理統計&am…

laravel RedisException: Connection refused優雅草PMS項目管理系統報錯解決-以及Redis 詳細指南-優雅草卓伊凡

laravel RedisException: Connection refused優雅草PMS項目管理系統報錯解決-以及Redis 詳細指南-優雅草卓伊凡今天來開始更新pms系統&#xff0c;因為我們ppt上面要做&#xff0c;才發現原來打不開&#xff0c;此前主要是事情太多&#xff0c;我們一直有很多東西擱置解決 Lara…

拉力覆冰在線監測裝置:電力線路安全運行的數字化守衛者

在極端天氣頻發的背景下&#xff0c;輸電線路覆冰災害已成為威脅電網穩定運行的關鍵因素。拉力覆冰在線監測裝置通過數字化技術構建起全天候監測體系&#xff0c;為電力運維提供精準數據支撐。本文從技術實現與實際應用價值角度&#xff0c;解析該裝置的核心功能與行業意義。核…

AI面試如何提升物流行業招聘效率?實戰案例解析

每年秋招季&#xff0c;物流行業都會迎來海量應屆生簡歷涌入。面對業務快速擴張與人才篩選壓力&#xff0c;傳統線下面試流程長、標準模糊、成本高昂等問題愈發凸顯。本文通過兩大物流頭部企業的實戰案例&#xff0c;解析AI面試如何破解招聘困局&#xff0c;實現效率與質量的雙…

【機器學習】組合優化問題combination-optimization概述

博主簡介&#xff1a;努力學習的22級計算機科學與技術本科生一枚&#x1f338;博主主頁&#xff1a; Yaoyao2024往期回顧&#xff1a;【二分圖算法】手把手教你學會&#xff1a;染色法&#xff08;判斷二分圖&#xff09;、匈牙利算法&#xff08;二分圖的最大匹配&#xff09;…

Linux網絡編程-osi、udp

網絡&#xff1a;不同主機&#xff0c;進程間通信達到不同主機之間的困難&#xff1a;解決主機之間的硬件層面的互聯互通解決主機之間的軟件層面的互聯互通廣域網&#xff1a;進行大范圍網絡數據交換IP地址&#xff1a;區分不同主機 唯一的&#xff08;軟件地址&#xff09;MAC…

刪除 XML 格式中雙引號內的空格

要使用 Shell 命令刪除 XML 格式中雙引號內的空格&#xff08;僅處理屬性值中的空格&#xff0c;保留標簽外的空格&#xff09;&#xff0c;可以使用以下 sed 命令&#xff1a; sed -i :loop; s/\("[^"]*\) \([^"]*"\)/\1\2/g; t loop filename.xml命令詳解…

電腦聲音修復?【圖文詳解】電腦沒有聲音?聲音異常

一、問題背景 在使用電腦的過程中&#xff0c;聲音異常是很常見的問題。比如明明打開了音頻文件&#xff0c;卻聽不到任何聲音&#xff1b;或者聲音忽大忽小、伴有雜音&#xff1b;或者更新了聲卡驅動后&#xff0c;電腦播放不了聲音了&#xff1b;還有可能是插入耳機后&#x…