如何從零開始掌握Pandas的DataFrame使用

視頻演示

如何通過實例學習Pandas DataFrame的創建與數據訪問

🧩 理解 Pandas DataFrame:數據分析的核心結構

Pandas 是 Python 中用于數據分析與處理的主力庫,而 DataFrame 是 Pandas 最常用的二維表格數據結構。我們可以將其想象成一個 Excel 表格,有明確的行列索引,支持多種數據類型,適合進行高效的數據清洗、選擇、轉換與分析操作。

在本教程中,我們將介紹如何使用不同方式創建 DataFrame 對象,并深入講解如何通過 `.loc[]` 與 `.iloc[]` 精準訪問數據內容。

🏗? 創建 DataFrame 的三種主流方式

1. 使用嵌套數組創建 DataFrame

這是最基礎的方式。只需要傳入一個二維列表(或嵌套列表),再指定列標題:

import pandas as pd
data = [["Google", 25], ["Baidu", 30], ["Bing", 22]]
df = pd.DataFrame(data, columns=["Site", "Age"])
print(df)

該方法創建了一個包含兩列的表格,分別為 "Site" 和 "Age",每一行為一條記錄。類似 Excel,系統會自動生成行索引 0, 1, 2。

2. 使用字典創建 DataFrame

字典創建方式更加直觀、靈活。鍵名表示列標題,鍵值為該列的所有數據:

data = {"Site": ["Google", "Baidu", "Bing"],"Age": [25, 30, 22]
}
df = pd.DataFrame(data)
print(df)

這種方法特別適合從結構化數據(如JSON、字典等)中快速創建表格。

3. 使用 NumPy 數組創建 DataFrame

若你已有 NumPy 數組進行科學計算,可直接用其作為數據源構建:

import pandas as pd
import numpy as np
arr = np.array([["Google", 25], ["Baidu", 30], ["Bing", 22]])
df = pd.DataFrame(arr, columns=["Site", "Age"])
print(df)

由于 NumPy 的內存效率更高,這種方式適合處理大型數據集。

🔍 精準訪問 DataFrame 中的數據

1. 使用 `loc[]` 訪問數據(通過標簽索引)

data = {"calories": [420, 380, 390],"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index=["day1", "day2", "day3"])
print(df.loc["day2"])

這將返回 `day2` 對應的整行數據。如果你想要多行內容,可傳入列表:

print(df.loc[["day1", "day3"]])

還可以指定列:

print(df.loc[["day1", "day3"], ["calories"]])

2. 使用 `iloc[]` 訪問數據(通過整數索引)

print(df.iloc[[0, 1], [0]])

這里的 0 和 1 表示第1和第2行,另一個 0 表示第一列,適合在默認索引情況下使用。

? 總結與建議

DataFrame 是進行數據分析的基礎結構,掌握其創建方法和訪問方式能幫助你更快速高效地進行數據清洗與處理。記住:

* 使用 `loc[]` 通過“名字”訪問;
* 使用 `iloc[]` 通過“位置”訪問;
* 多種創建方式滿足不同數據來源;
* 熟練掌握后能輕松實現數據篩選、計算與可視化操作。

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

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

相關文章

LaTeX下載與實踐入門指南

LaTeX下載與實踐入門指南 簡單來說,LaTeX 是一種以代碼驅動的排版系統。和 Word 那種所見即所得(WYSIWYG)的編輯方式不同,LaTeX 更像是你寫代碼、它幫你生成精美排版。你寫的不是文字排版,而是一種“結構化內容&#…

Java--數組

目錄 1.1 介紹:數據可以存放多個同一類型的數據。 1.2 排序: 冒泡排序法: 1.3 查找 1. 順序查找 2. 二分查找 二維數組: 楊輝三角: 1.1 介紹:數據可以存放多個同一類型的數據。 數組的引用&#xf…

地址簇與數據序列

深入理解IP地址與端口號:網絡通信的基礎 IP地址:互聯網的門牌號 IP地址(Internet Protocol Address)是分配給網絡中每臺設備的唯一標識符,就像現實世界中的門牌號一樣。在計算機上,一個網卡對應一個IP地址…

中學數集相等概念凸顯無窮集不可~其真子集——初數一直將不是N的真子集誤為?N

中學數集相等概念凸顯無窮集不可~其真子集——初數一直將不是N的真子集誤為?N 黃小寧 [摘要]證明了初等數學應有幾何起碼常識:當且僅當平移的距離0時才能使平移前、后的點集(元點不少于兩個)重合。從而表明初中的直線公理使中學…

常規層疊設計需要了解的板材知識

常規層疊設計需要了解的板材知識: 層疊設計的第一個關鍵要點就是要了解板材的基本知識。 觀點: PCB是由銅箔(“皮”)、樹脂(“筋”)、玻璃纖維布及其他功能性補強添加物(“骨”)組成。層疊設計時,要對“筋骨皮”的材料特性參數有一定了解。 先來看看“皮”,在對常…

Zabbix 監控VMware Vcenter

本次實驗測試如何在Zabbix中添加Vcenter監控對象實現對VMware虛擬化平臺的監控。 一、測試環境 1、Zabbix服務器配置: Zabbix 版本: Zabbix 7.0.11 LTS 操作系統: Ubuntu 24.04 數據庫: MySQL 8 Web 服務器: Apache IP:192.168.1.242 2、監控目標…

鏈表最終章——雙向鏈表及其應用

———————————本文旨在交流探討計算機知識,歡迎交流指正———————————— 上一章,我們介紹了鏈表的循環擴展,但是,單向鏈表畢竟是單向查詢的,就算是經過循環來查找,終究是效率偏低&#x…

智能體的5個核心要素

文章目錄 如何看待智能體智能體的發展階段國內大模型廠家推出的智能體智能體的應用領域智能體架構智能體的核心要素1. ??認知中樞(大模型)??🧠 2. ??記憶系統(Memory)??🛠? 3. ??規劃與決策&…

QUdpScoket 組播實現及其中的踩坑點記錄

QUdpScoket 組播實現及其中的踩坑點記錄 QUdpSocket要想組播需要打開MulticastTtlOption配置項,否則無法生效,親身踩坑經歷 m_socketnew QUdpSocket(this);m_socket->setSocketOption(QAbstractSocket::MulticastTtlOption,1);確定一個組播地址&…

250627-結合Guacamole與FRP訪問CentOS-Stream-9及Windows10

A. FRP的配置 A.1 FRP在CentOS中的配置 frps.toml [common] bind_port 7000 bind_addr 0.0.0.0dashboard_port 7500 dashboard_user admin dashboard_pwd admin啟動:./frps -c frps.toml frpc.toml [common] server_addr 123.456.789.98 server_port 700…

環保法規下的十六層線路板創新:獵板 PCB 如何實現無鉛化與可持續制造

在全球環保法規趨嚴的背景下,十六層線路板作為高端電子設備的核心組件,正面臨無鉛化與可持續制造的雙重挑戰。獵板 PCB 憑借材料革新與工藝升級,構建了從焊料到基材、從生產到回收的全鏈路綠色體系,為行業樹立了合規標桿。 一、無…

OpenLayers 拖動旋轉和縮放

前言 在 OpenLayers 框架中已經封裝了很多便利的交互控件,可以做到開箱即用,非常方便。像拖動縮放、繪制、選擇等交互控件可以供開發者直接使用。本篇給大家介紹拖動旋轉交互控件 1. 旋轉控件簡介 此控件通過按住shift鍵結合鼠標左鍵或右鍵進行使用。在…

element ui Cascader 級聯選擇器 處理未全選時去除父節點值,選中父節點時去除子節點值

目前我這邊的需求時:當用戶的選擇,只保留最頂層的選中節點 如果選中了父節點,則移除其所有子孫節點以及它的祖先節點(因為選中父節點代表選中整個分支,所以不需要再顯示子節點;同時,如果存在祖…

uniapp實現遠程圖片下載到手機相冊功能

在 UniApp 中實現點擊下載圖片到相冊的功能&#xff0c;需要以下幾個步驟&#xff1a; 1. 下載圖片到本地&#xff08;uni.downloadFile&#xff09; 2. 將圖片保存到相冊&#xff08;uni.saveImageToPhotosAlbum&#xff09; 完整代碼示例&#xff1a; <template>&l…

【世紀龍科技】吉利博瑞汽車車身診斷與校正仿真教學軟件

在汽車產業蓬勃發展的當下&#xff0c;汽車車身診斷與校正技術人才的需求與日俱增。然而&#xff0c;職業院校在汽車車身教學實踐中&#xff0c;卻面臨著學生實訓機會稀缺、教學互動匱乏、過程評價缺失、學生技能提升緩慢等諸多難題。江蘇世紀龍科技憑借其卓越的技術實力與行業…

極速二刷leetcode hot100

簡單題 1.移動0 283. 移動零 - 力扣&#xff08;LeetCode&#xff09; 剛開始沒看到非零子串的順序不變&#xff1a; // if(nums.size() 1){// return;// }// //所有 0 移動到數組的末尾//同時保持非零元素的相對順序。// int n nums.size();// int notZero n-1;////…

技術博客:如何用針孔相機模型理解圖像

引言 大家好&#xff01;今天我們來聊聊一個非常有趣的話題——針孔相機模型。這個模型可以幫助我們理解相機是如何捕捉圖像的。我們會用一些簡單的數學公式來解釋這個過程&#xff0c;不用擔心&#xff0c;我會盡量讓這些內容簡單易懂。 什么是針孔相機模型&#xff1f; 針…

Nanonets-OCR:Qwen2.5VL-3B的微調模型 更強大的文檔解析能力|附效果實測

一 Nanonets-OCR 簡介 Nanonets-OCR不再滿足于單純提取文本&#xff0c;它能智能解析圖像中的公式、表格、水印、簽名、圖表、復選框等復雜結構&#xff0c;并輸出格式清晰的 Markdown。 核心功能 ● LaTeX 公式識別&#xff1a;自動將文中數學公式轉為標準 LaTeX 格式 ●…

Git下載與使用完全指南:從安裝到基礎操作詳解,附上git的學習網站(很直觀)(可以模擬git的全過程)

一、Git簡介與下載安裝 1.1 Git是什么&#xff1f; Git是目前世界上最先進的分布式版本控制系統&#xff0c;由Linus Torvalds&#xff08;Linux之父&#xff09;開發。它可以高效地處理從小型到大型項目的版本管理&#xff0c;具有以下特點&#xff1a; 分布式架構&#xff…

論分布式設計

20250419-作 題目 分布式是指將一個系統或任務分解成多個子部分&#xff0c;并在多個計算機或服務器之間進行協同工作的方式。每個子部分都可以在不同的計算機節點上運行&#xff0c;彼此之間通過網絡進行通信和協調。分布式技術在當今互聯網應用中起著重要作用&#xff0c;例…