Pandas:Series和DataFrame的概念、常用屬性和方法

本文目錄:

  • 一、Series和Dataframe的概念
  • 二、創建Series對象
  • 三、創建Dataframe對象
    • (一)Series
      • 1.Series的常用屬性總結如下:
      • 2.Series的常用方法總結如下:
    • (二)Dataframe
      • 1.Dataframe的常用屬性
      • 2.Dataframe的常用方法

一、Series和Dataframe的概念

Pandas 只有兩種核心數據結構:

Series:一維數組(單列數據,帶索引)。

DataFrame:二維表格(多列 Series 的集合,每列可不同數據類型)。
在這里插入圖片描述

【特別分享】

Pandas沒有獨立的“行”對象源于兩點原因****:

(1)設計哲學:Pandas 是圍繞 列式存儲(Column-oriented) 優化的,列操作(如聚合、過濾)比行操作更高效;

(2)內存布局:DataFrame 的每列(Series)在內存中連續存儲,而行是跨列的,訪問效率較低。

二、創建Series對象

Series是最基本的數據結構對象,DataFrame 的一列就是一個 Series;

它是一個類似于一維數組的對象;

它的創建主要包括三個部分:values(值:可為列表、字典、numpy數組、標量值等等)、index(行索引)、name(series名字),其中values是必須有的,index和name可有可無,當不指定index時,系統會默認從0開始。

Series的創建方式有多種:
在這里插入圖片描述
代碼如下(列舉3種,其它類同):

import pandas as pd# 從列表創建,默認索引為 0, 1, 2...
data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)# 字典的鍵自動成為索引
data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s)# 所有值均為 5,索引需單獨指定
s = pd.Series(5, index=['a', 'b', 'c'])
print(s)注意:Series的缺失值用 NaN 表示。

三、創建Dataframe對象

DataFrame是Pandas中最基本的數據結構,Series的許多屬性和方法在DataFrame中也一樣適用,可以理解為一個二維表結構。

Dataframe的創建方式主要包括列表創建和字典創建,還有csv文件讀取,代碼如下:

import pandas as pd
#從字典創建
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'London', 'Tokyo']
}df = pd.DataFrame(data)
print(df)#從列表創建
data = [['Alice', 25, 'New York'],['Bob', 30, 'London'],['Charlie', 35, 'Tokyo']
]df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)#從csv文件讀取
df = pd.read_csv('data.csv')  # 讀取 CSV 文件
print(df.head())  # 查看前5行

四、屬性和方法

Series和Dataframe的很多屬性和方法是共通的。

(一)Series

1.Series的常用屬性總結如下:

在這里插入圖片描述
代碼如下:

例(列舉重點):
import pandas as pd
s = pd.Series([1, 2], name='my_series')
print(s)  # 輸出:'my_series's1 = pd.Series([1, 2, 3], name="A")  
s2 = pd.Series(["X", "Y", "Z"], name="B")print(s1.ndim)
print(s1.shape)
print(s1.loc[1]) #按索引1取值
print(s1.iloc[1])#按索引位置1取值

2.Series的常用方法總結如下:

在這里插入圖片描述

代碼如下:

例(列舉重點):print(df.head())    #前五條數據
print(s.describe())   #查看詳情
s1=s.sample(2)   #隨機抽取2條數據
print(s1)    
print(s1.sort_values()) #默認升序,降序需指定ascending=False#擴展:
print(s1.sort_values(ascending=False))   #降序排列,返回新的
print(s1.sort_values(ascending=True))   #升序排列,返回新的
print(s1.describe(include="all"))    #打印所有字段詳細信息
print(s1.describe(exclude="int,float")) #打印除了int和float的字段信息

(二)Dataframe

1.Dataframe的常用屬性

在這里插入圖片描述

2.Dataframe的常用方法

在這里插入圖片描述

有關屬性和方法整體代碼如下:

例(列舉部分重點):
import pandas as pd# 加載數據集, 得到df對象
df = pd.read_csv('data/scientists.csv')print('=============== 常用屬性 ===============')
# 查看維度, 返回元組類型 -> (行數, 列數), 元素個數代表維度數
print(df.shape)
# 查看數據值個數, 行數*列數, NaN值也算
print(df.size)
# 查看數據值, 返回numpy的ndarray類型
print(df.values)
# 查看維度數
print(df.ndim)
# 返回列名和列數據類型
print(df.dtypes)
# 查看索引值, 返回索引值對象
print(df.index)
# 查看列名, 返回列名對象
print(df.columns)
print('=============== 常用方法 ===============')
# 查看前5行數據
print(df.head())
# 查看后5行數據
print(df.tail())
# 查看df的基本信息
df.info()
# 查看df對象中所有數值列的描述統計信息
print(df.describe())
# 查看df對象中所有非數值列的描述統計信息
# exclude:不包含指定類型列
print(df.describe(exclude=['int', 'float']))
# 查看df對象中所有列的描述統計信息
# include:包含指定類型列, all代表所有類型
print(df.describe(include='all'))
# 查看df的行數
print(len(df))
# 查看df各列的最小值
print(df.min())
# 查看df各列的非空值個數
print(df.count())
# 查看df數值列的平均值
print(df.mean())

今天分享到此結束。

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

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

相關文章

數據中心Overlay解決方案

文檔圍繞數據中心 Overlay 解決方案展開,指出數據中心向大集中、虛擬化、云業務演進,傳統架構存在網絡規劃復雜、彈性不足、業務擴展受限等問題。Overlay 網絡在物理網絡上構建虛擬網絡,實現名址分離、網絡與物理解耦,支持業務靈活部署。方案采用VXLAN 技術(如 SDN 控制模…

SpringBoot 項目實現操作日志的記錄(使用 AOP 注解模式)

本文是博主在做關于如何記錄用戶操作日志時做的記錄,常見的項目中難免存在一些需要記錄重要日志的部分,例如權限和角色設定,重要數據的操作等部分。 博主使用 Spring 中的 AOP 功能,結合注解的方式,對用戶操作過的一些…

以太聯 - Intellinet 閃耀臺北 SecuTech 國際安全科技應用博覽會

2025 年 5 月 7 日至 9 日,臺北 SecuTech 國際安全科技應用博覽會現場熱鬧非凡,以太聯 - Intellinet 攜旗下前沿產品與解決方案精彩亮相,成為展會上一道亮麗的風景線,吸引了眾多業內人士的目光,收獲了廣泛關注與高度認…

【華為鴻蒙電腦】首款鴻蒙電腦發布:MateBook Fold 非凡大師 MateBook Pro,擎云星河計劃啟動

文章目錄 前言一、HUAWEI MateBook Fold 非凡大師(一)非凡設計(二)非凡顯示(三)非凡科技(四)非凡系統(五)非凡體驗 二、HUAWEI MateBook Pro三、預熱&#xf…

OSA快速上手

我第一次接觸OSA,第一感覺就是龐雜,相關的文檔和資料基本都是英文,運行下示例場景,效果和效率確實很香。本文僅針對初次接觸OSA、望而卻步的朋友們進行快速運用的引導。 首先,找個安裝包,導入項目后&#…

RK3568下編譯解決未定義符號而報錯終止鏈接

現象:我從rk3568板子上導出來了一個 libsqlite3.so 然后編譯連接就會報這樣的錯誤 解決辦法有多種,以前我遇到這種情況,我都是使用sqlite3源碼從新編譯一份使用,并替換到板子上。 現在我是用另一種方法:增加編譯參數 …

LSTM-Attention混合模型:美債危機與黃金對沖效率研究

摘要:本文依托多維度量化分析框架,結合自然語言處理(NLP)技術對地緣文本的情緒挖掘,構建包含宏觀因子、風險溢價因子及技術面因子的三階定價模型,對當前黃金市場的波動特征進行歸因分析。實證結果顯示&…

Spring Boot 多參數統一加解密方案詳解:從原理到實戰

Spring Boot 多參數統一加解密方案詳解:從原理到實戰 一、前言:為什么需要參數加解密? 在現代Web開發中,數據安全傳輸是基本要求。特別是涉及敏感數據(如用戶隱私、支付信息等)時,僅靠HTTPS還不夠,我們需要對關鍵參數進行二次加密。本文將詳細介紹Spring Boot中實現多…

【css】【面試提問】css經典問題總結

第一章 CSS基礎相關提問 1.1 選擇器問題 1.1.1 選擇器優先級疑問 1. 優先級規則 內聯樣式&#xff1a;直接寫在 HTML 標簽的 style 屬性中的樣式&#xff0c;優先級最高。例如&#xff1a; <p style"color: red;">這是一段紅色文字</p>這里文字的顏…

Linux服務器配置深度學習環境(Pytorch+Anaconda極簡版)

前言&#xff1a; 最近做橫向需要使用實驗室服務器跑模型&#xff0c;之前用師兄的賬號登錄服務器跑yolo&#xff0c;3張3090一輪14秒&#xff0c;我本地一張4080laptop要40秒&#xff0c;效率還是快很多&#xff0c;&#xff08;這么算一張4080桌面版居然算力能比肩3090&#…

【嵌入式】I2S音頻接口3分鐘入門

1. I2S接口入門 I2S&#xff08;Inter-IC Sound&#xff09;是一種專門用于數字音頻數據傳輸的串行通信接口。以下是其核心要點&#xff1a; 1.1 基本概念 I2S是飛利浦公司開發的一種音頻接口標準主要用于數字音頻設備之間的數據傳輸采用串行通信方式 1.2 主要特點 支持立…

java spring -framework -mvc

工程demo&#xff1a;myapp011工程下“_05mvcboot01” model 目錄 1、Spring MVC和MVC 2、創建項目&#xff1a; 3、處理請求 4、HTTP協議 超文本傳輸協議 4.1、 HTTP和HTTPS的區別 4.2、SSL證書 4.3、請求和響應 4.3.1、請求 4.3.2、響應 5、數據的傳遞與接收 5.1、客戶端傳…

沒有屋檐的房子-038—田鼠的酷刑

秋天是收獲的季節&#xff0c;收獲之后的田野里不再是濕漉漉的。水稻此時已經了卻了此生&#xff0c;他們的后代稻谷已經被搬進了打谷場&#xff0c;被蛻變成了大米&#xff0c;住進了生產隊的糧倉然后又進入各家的糧食口袋或者米柜中。稻田里視野逐漸開闊&#xff0c;收割完水…

IntelliJ IDEA打開項目后,目錄和文件都不顯示,只顯示pom.xml,怎樣可以再顯示出來?

檢查.idea文件夾 如果項目目錄中缺少.idea文件夾&#xff0c;可能導致項目結構無法正確加載。可以嘗試刪除項目根目錄下的.idea文件夾&#xff0c;然后重新打開項目&#xff0c;IDEA會自動生成新的.idea文件夾和相關配置文件&#xff0c;從而恢復項目結構。 問題解決&#xff0…

Harmony開發 List、Grid拖動自定義排序實現

1. Harmony開發 List、Grid拖動自定義排序實現 1.1. List拖動功能 本示例基于顯式動畫、List組件實現了ListItem的上下拖動、ListItem切換以及ListItem插入的效果。 ??實現思路:List手勢拖動 @Entry @Component struct ListDragPage {@State private arr: string[] = [0, …

Jules 從私有預覽階段推向全球公測

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

ubuntu上安裝mysql

sudo apt update查看可用版本&#xff1a; apt-cache policy mysql-server返回&#xff1a; mysql-server: 已安裝&#xff1a;(無) 候選&#xff1a; 8.0.42-0ubuntu0.24.04.1 版本列表&#xff1a; 8.0.42-0ubuntu0.24.04.1 500 500 http://cn.archive.ubuntu.com/ubuntu no…

預先學習:構建智能系統的 “未雨綢繆” 之道

一、預先學習&#xff1a;訓練階段的 “模型預構建” 哲學 1.1 核心定義與生物啟發 預先學習的本質是模擬人類的 “經驗積累 - 快速決策” 機制&#xff1a;如同醫生通過大量病例總結診斷規則&#xff0c;算法在訓練階段利用全量數據提煉規律&#xff0c;生成固化的 “決策模型…

【notes】VScode 使用總結

文章目錄 擴展 c/cwindows7 系統下 c/c 自動升級導致的插件無法正常使用 設置 文件格式設置打開文件的默認格式 擴展 c/c windows7 系統下 c/c 自動升級導致的插件無法正常使用 問題 1. c/c擴展的1.25.x版本不再支持windows7 系統&#xff0c;當設置VScode自動升級拓展插件時…

wbs校驗

*數據定義 DATA:tab_set_bukrs_gxgsdm5 TYPE TABLE OF rgsb4, rec_set_bukrs_gxgsdm5 LIKE LINE OF tab_set_bukrs_gxgsdm5, r_bukrs_gxgsdm5 TYPE RANGE OF bukrs WITH HEADER LINE. DATA: tab_set_hkont_gxkjkm5 TYPE STANDARD TABLE OF rgsb4, …