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

Python pandas庫自學(xué)超詳細(xì)教程

 更新時(shí)間:2025年08月01日 11:47:34   作者:業(yè)余磚家  
文章介紹了Pandas庫的基本功能、安裝方法及核心操作,涵蓋數(shù)據(jù)導(dǎo)入(CSV/Excel等)、數(shù)據(jù)結(jié)構(gòu)(Series、DataFrame)、數(shù)據(jù)清洗、轉(zhuǎn)換、分組、篩選、列名修改等,強(qiáng)調(diào)其在數(shù)據(jù)分析領(lǐng)域的高效性和靈活性,感興趣的朋友一起看看吧

一、什么是Pandas庫

(1)、Pandas 應(yīng)用

Pandas 可以從各種文件格式比如 CSV、JSON、SQL、Excel 導(dǎo)入數(shù)據(jù)。

Pandas 可以對(duì)各種數(shù)據(jù)進(jìn)行運(yùn)算操作,比如歸并、再成形、選擇,還有數(shù)據(jù)清洗和數(shù)據(jù)加工特征。

Pandas 廣泛應(yīng)用在學(xué)術(shù)、金融、統(tǒng)計(jì)學(xué)等各個(gè)數(shù)據(jù)分析領(lǐng)域。

(2)、Pandas 功能

Pandas 是數(shù)據(jù)分析的利器,它不僅提供了高效、靈活的數(shù)據(jù)結(jié)構(gòu),還能幫助你以極低的成本完成復(fù)雜的數(shù)據(jù)操作和分析任務(wù)。

Pandas 提供了豐富的功能,包括:

  • 數(shù)據(jù)清洗:處理缺失數(shù)據(jù)、重復(fù)數(shù)據(jù)等。
  • 數(shù)據(jù)轉(zhuǎn)換:改變數(shù)據(jù)的形狀、結(jié)構(gòu)或格式。
  • 數(shù)據(jù)分析:進(jìn)行統(tǒng)計(jì)分析、聚合、分組等。
  • 數(shù)據(jù)可視化:通過整合 Matplotlib 和 Seaborn 等庫,可以進(jìn)行數(shù)據(jù)可視化。

(3)、數(shù)據(jù)結(jié)構(gòu)

Pandas 的主要數(shù)據(jù)結(jié)構(gòu)是 Series (一維數(shù)據(jù))與 DataFrame(二維數(shù)據(jù))。

  • Series 是一種類似于一維數(shù)組的對(duì)象,它由一組數(shù)據(jù)(各種 Numpy 數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。

  • DataFrame 是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 組成的字典(共同用一個(gè)索引)。

二、安裝pandas庫

(1)、在終端中運(yùn)行

pip install pandas

(2)、導(dǎo)入Pandas庫并重命名為pd

import pandas as pd
# 查看pandas版本
print(pd.__version__)

輸出: 2.2.3

三、操作教學(xué)

1.基礎(chǔ)操作

我想存儲(chǔ)一些人的信息和對(duì)應(yīng)的數(shù)據(jù)

import pandas as pd
df = pd.DataFrame(
    {
        "Name": ["Alice", "Bob", "Charlie"],
        "Age": [25, 30, 35],
        "City": ["New York", "Los Angeles", "Chicago"]
    }
)
print(df)

打印的結(jié)果:

DataFrame是一個(gè)二維數(shù)據(jù)結(jié)構(gòu),可以存儲(chǔ) 不同類型的 (包括字符、整數(shù)、浮點(diǎn)值、 分類數(shù)據(jù)等)。它類似于電子表格,每一行都有自己的列標(biāo)簽和值

2.拿取指定列的數(shù)據(jù)

print(df['City']) 

打印的結(jié)果:

3.從頭開始創(chuàng)建DataFrame

a = pd.Series(["黑色", "紅色", "白色"], name="color")
print(a)

打印的結(jié)果:

4.DataFrame的統(tǒng)計(jì)數(shù)據(jù)

df = pd.DataFrame(
    {
        "Name": ["Alice", "Bob", "Charlie"],
        "Age": [25, 30, 35],
        "City": ["New York", "Los Angeles", "Chicago"]
    }
)
print(df.describe())

結(jié)果為:

5.分析csv文件中的數(shù)據(jù)

csv文件內(nèi)容如下: 

TABLE_SCHEMA

TABLE_NAME

ENGINE

VERSION

DATA_LENGTH

CREATE_TIME

information_schema

CHARACTER_SETS

MEMORY

10

0

2025/3/10 10:04

information_schema

COLLATIONS

MEMORY

10

0

2025/3/10 10:04

information_schema

COLUMNS

InnoDB

10

16384

 

information_schema

COLUMN_PRIVILEGES

MEMORY

10

0

2025/3/10 10:04

information_schema

ENGINES

MEMORY

10

0

2025/3/10 10:04

information_schema

EVENTS

InnoDB

10

16384

 

information_schema

FILES

MEMORY

10

0

2025/3/10 10:04

information_schema

GLOBAL_STATUS

MEMORY

10

0

2025/3/10 10:04

information_schema

GLOBAL_VARIABLES

MEMORY

10

0

2025/3/10 10:04

information_schema

KEY_COLUMN_USAGE

MEMORY

10

0

2025/3/10 10:04

只讀取數(shù)據(jù)

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df)

結(jié)果為:

只想看前幾行的數(shù)據(jù)

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df.head(8))

結(jié)果為:

分析每列的數(shù)據(jù)類型

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df.dtypes)

結(jié)果為:

讀取更加詳細(xì)的數(shù)據(jù)

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df.info)

結(jié)果為:

6.excel表格的操作

與csv同理,讀取方法換成read_excel()這個(gè)就可以了

import xlrd
df = pd.read_excel("C:/Users/65742/Desktop/tables.xls")
print(df)

注意: read_excel()需要依賴xlrd模塊,所以需要安裝xlrd。

7.選擇需要的列

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df['TABLE_NAME'])

結(jié)果為:

需要選擇多個(gè)列直接使用逗號(hào)拼接在中括號(hào)里面就OK了

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df[['TABLE_NAME', 'CREATE_TIME']])

結(jié)果為:

查看返回?cái)?shù)據(jù)的行數(shù)以及列數(shù)

df = pd.read_csv("C:/Users/65742/Desktop/tables.csv")
print(df[['TABLE_NAME']].shape)

結(jié)果為:

請注意,返回的數(shù)據(jù)包括行數(shù)和列數(shù)

篩選固定條件的數(shù)據(jù)

above_0 = df[df["DATA_LENGTH"] > 0]
print(above_0)

結(jié)果為:

如果你想檢查數(shù)據(jù)是否大于某個(gè)值:

print(df["DATA_LENGTH"] > 0)

結(jié)果為:

查詢某個(gè)列中的多個(gè)值的數(shù)據(jù)

engine_select = df[df["ENGINE"].isin(['InnoDB', 'MEMORY'])]
print(engine_select)

df[]中放置的是列名,isin中放的是感興趣的數(shù)據(jù)

結(jié)果為:

組合多個(gè)條件查詢

new_result = df[(df["ENGINE"] == 'InnoDB') | (df["TABLE_NAME"] == 'FILES')]
print(new_result)

結(jié)果為:

如果想驗(yàn)證列中的數(shù)據(jù)是不是空值

create_time_not_na = df[df["CREATE_TIME"].notna()]
print(create_time_not_na)

篩選出所有“CREATE_TIME”列不為缺失值(NaN)的行,并將結(jié)果存儲(chǔ)在一個(gè)新的 DataFrame 變量

結(jié)果為:

查詢某列符合條件的數(shù)據(jù),并只取該行的數(shù)據(jù)某一列

table_names = df.loc[df["DATA_LENGTH"] > 0, "TABLE_NAME"]
print(table_names)

結(jié)果為:

查詢特定行到特定行,特定列到特定列的數(shù)據(jù)

# 查詢第1到4行,第3到5列的數(shù)據(jù)
print(df.iloc[0:4, 2:5])

結(jié)果為:

切記:

選擇數(shù)據(jù)子集時(shí),使用方括號(hào)。[]

在這些括號(hào)內(nèi),您可以使用單個(gè)列/行標(biāo)簽、列表 的列/行標(biāo)簽、標(biāo)簽切片、條件表達(dá)式或 一個(gè)冒號(hào)。

使用行時(shí)選擇特定行和/或列 和列名稱。loc

使用 在表中的位置。iloc

您可以根據(jù) / 為選擇分配新值。lociloc

8.增加列

df = pd.read_excel("C:/Users/65742/Desktop/tables.xls", sheet_name='tables')
print(df)
df["數(shù)據(jù)長度"] = df["DATA_LENGTH"]*100  # 增加一列
print(df)

等號(hào)前面為你要新增加的列名,后面是原本存在的列名,執(zhí)行之后會(huì)幫我們新建一個(gè)列名“數(shù)據(jù)長度”。

結(jié)果為:

且等號(hào)后面的數(shù)據(jù)是可以和其他類的數(shù)據(jù)運(yùn)算或者直接運(yùn)算的

9.修改列名

df = pd.read_excel("C:/Users/65742/Desktop/tables.xls", sheet_name='tables')
print(df)
c = df.rename(columns={"TABLE_NAME": "表名"})
print(c)

columns中鍵值對(duì)里面的key是原表格中的列,value是要替換的列名

結(jié)果為:

 修改多個(gè)列的列名

c = df.rename(columns={"TABLE_NAME": "表名", "DATA_LENGTH": "數(shù)據(jù)長度"})
print(c)

 結(jié)果為:

10.對(duì)數(shù)據(jù)進(jìn)行分組并計(jì)算平均數(shù)

f = pd.DataFrame({
    "name": ["吳昊", '趙括', "李月榮", "吳昊", "李月榮"],
    "age": [28, 32, 35, 30, 36],
    "gender": ["男", "女", "男", "男", "女"],
    "score": [92, 85, 98, 88, 95]
})

print(f[["name","age","score"]].groupby("name").mean())

結(jié)果為:

到此這篇關(guān)于Python pandas庫自學(xué)超詳細(xì)教程的文章就介紹到這了,更多相關(guān)Python pandas庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章搞懂Python的文件路徑操作

    一篇文章搞懂Python的文件路徑操作

    這篇文章主要給大家介紹了關(guān)于Python文件路徑操作的相關(guān)資料,在python中我們會(huì)經(jīng)常的對(duì)文件使用路徑,文件路徑通常有兩種,分別為絕對(duì)路徑、相對(duì)路徑,需要的朋友可以參考下
    2023-07-07
  • 基于Python開發(fā)一個(gè)多線程IP網(wǎng)絡(luò)掃描工具

    基于Python開發(fā)一個(gè)多線程IP網(wǎng)絡(luò)掃描工具

    IP?Scanner?是一個(gè)基于?Python?開發(fā)的網(wǎng)絡(luò)掃描工具,它能夠快速掃描指定網(wǎng)段內(nèi)的活動(dòng)?IP?地址,下面小編就來和大家詳細(xì)介紹一下它的具體實(shí)現(xiàn)方法吧
    2025-05-05
  • python爬蟲之requests庫使用代理方式

    python爬蟲之requests庫使用代理方式

    這篇文章主要介紹了python爬蟲之requests庫使用代理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python實(shí)現(xiàn)GIF動(dòng)圖以及視頻卡通化詳解

    Python實(shí)現(xiàn)GIF動(dòng)圖以及視頻卡通化詳解

    本文主要介紹了如何使用Python中的animegan2-pytorch實(shí)現(xiàn)動(dòng)圖以及視頻的卡通化效果,文中的代碼具有一定的學(xué)習(xí)價(jià)值,需要的朋友可以參考一下
    2021-12-12
  • Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法)

    Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法)

    這篇文章主要介紹了Python pandas 列轉(zhuǎn)行操作詳解(類似hive中explode方法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • vscode中配置jupyter的詳細(xì)步驟(徹底解決Failed?to?start?the?Kernel問題)

    vscode中配置jupyter的詳細(xì)步驟(徹底解決Failed?to?start?the?Kernel問題)

    自從vscode出了支持jupyter?notebook的功能之后,我就再也沒有傻傻的用瀏覽器開過jupyter(問就是vscode好看),下面這篇文章主要給大家介紹了關(guān)于vscode中配置jupyter(徹底解決Failed?to?start?the?Kernel問題)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • python實(shí)現(xiàn)canny邊緣檢測

    python實(shí)現(xiàn)canny邊緣檢測

    本文主要講解了canny邊緣檢測原理:計(jì)算梯度幅值和方向、根據(jù)角度對(duì)幅值進(jìn)行非極大值抑制、用雙閾值算法檢測和連接邊緣以及python 實(shí)現(xiàn)
    2020-09-09
  • Python中.py文件和.ipynb文件的區(qū)別詳解

    Python中.py文件和.ipynb文件的區(qū)別詳解

    Python開發(fā)者常用的兩種文件格式.py和.ipynb各有特點(diǎn),本教程將通過對(duì)比分析、代碼示例和場景說明,幫助開發(fā)者全面理解二者的區(qū)別與聯(lián)系,需要的朋友可以參考下
    2025-04-04
  • python?中的?asyncio?異步協(xié)程

    python?中的?asyncio?異步協(xié)程

    這篇文章主要介紹了python?中的?asyncio?異步協(xié)程?IO?教程,asyncio?執(zhí)行的任務(wù),稱為協(xié)程,但是Asyncio?并不能帶來真正的并行,下文具體的相關(guān)資料感興趣的小伙伴可以參考一下
    2022-04-04
  • Python隨機(jī)數(shù)random模塊使用指南

    Python隨機(jī)數(shù)random模塊使用指南

    本文給大家分享的是Python隨機(jī)數(shù)random模塊的幾個(gè)常用的方法,非常的簡單,小伙伴們喜歡的話,后續(xù)繼續(xù)深入探討
    2016-09-09

最新評(píng)論