【Python】pandas庫---數據分析

? 大學畢業那年,你成了社會底層群眾里,受教育程度最高的一批人。?

前言?

? 這是我自己學習Python的第四篇博客總結。后期我會繼續把Python學習筆記開源至博客上。?

??上一期筆記有關Python的NumPy數據分析,沒看過的同學可以去看看:
【Python】NumPy數據分析(二)_numpy里的維度是行數-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/hsy1603914691/article/details/142675036

pandas庫?

1. pandas庫建立在Numpy庫之上,繼承了Numpy庫的功能。

2. Numpy庫的主要對象是數組,而pandas庫的主要對象是Series

3. 我們一般使用import pandas as pd,即用pd來簡寫pandas

創建Series對象?

1. 將一個列表作為參數,傳入pandas庫中的Series()方法即可創建一個Series對象。

2. 如果直接打印Series對象,那么會在左邊給出索引、會在右邊給出Series元素值。

3. 如果想單獨打印索引,則使用Series.index,如果想單獨打印Series元素值,則使用Series.values

4.?Series對象也能進行索引和切片,和數組類似。?

import pandas as pd
s1=pd.Series([1,2,3,4,5])
print(s1)
print(s1.values)
print(s1.index)
#0    1
#1    2
#2    3
#3    4
#4    5
#dtype: int64
#[1 2 3 4 5]
#RangeIndex(start=0, stop=5, step=1)

自定義索引

1. pandasSeries對象的索引可以自定義,只需創建Series對象時在列表后面指定index

2. 對于Series對象,既可以使用標簽索引,又可以使用位置索引。

3. 在pandas中,如果使用標簽索引,則使用loc方法;如果使用位置索引,則使用iloc方法。

4. 另一種創建自定義索引Series對象的方法是:把字典作為參數傳入Series()方法,那么字典中的鍵則變成標簽,字典中的值則變成元素值。

5. 如果想知道一個標簽是否在Series對象里面,可以使用成員運算符in(not in)

6. 利用位置索引切片時,左閉右開;利用標簽索引切片時,左右都是閉區間。

import pandas as pd
s1=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
print(s1)
print(s1.values)
print(s1.index)
#a    1
#b    2
#c    3
#d    4
#e    5
#dtype: int64
#[1 2 3 4 5]
#Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(s1.loc['a'])
#a
print(s1.iloc[1])
#a

Series對象的計算

1.?pandas庫會根據Series對象索引一致來計算元素值。

2. 為了避免出現NAN值,我們需要用pandas庫提供的方法來進行加減乘除,而不能直接通過?+ - * /?這四個符號來計算。

3. +Series1.add(Series1,fill_value=0)

4. -Series1.sub(Series1,fill_value=0)

5. *Series1.mul(Series1,fill_value=0)

6. /Series1.div(Series1,fill_value=0)

7.?pandas庫還提供了describe()方法,整體描述Series對象。

8.?pandas庫還提供了apply()方法,用于接收Series對象需要調用的函數,把Series對象的元素值作為參數傳函數。

9.?以上的方法并不改變原來的Series對象,而是返回一個新的Series對象。

import pandas as pd
s1=pd.Series({"小明":92,"小紅":67,"小杰":70,"小麗":88,"小華":76})
s2=pd.Series({"小明":95,"小杰":85,"小宇":60,"小娟":79,"小彤":76})
s3=s1.add(s2,fill_value=0)
print(s3)
print(s1.describe())
s1=s1+5
print(s1)def grade_std(score):if score>=90:return 'A'elif (score<90 and score>=80):return 'B'elif (score<80 and score>=70):return 'C'else:return 'D'
s4=s1.apply(grade_std)
print(s4)

創建DataFrame對象

1. 在pandas庫中,多個Series對象組成一個DateFrame對象。Series對象類似于數組,而DateFrame對象類似于表格。

2.?DateFrame對象的不同列可以是不同的數據類型,所以DateFrame對象不止有橫向的索引,也有列項的列名。

3. 創建DateFrame對象,可以使用pandas庫的DataFrame()方法,往里面傳入一個字典為參數,其中字典的鍵是列名,字典的值是不同的Series對象。

致謝

? 感謝您花時間閱讀這篇文章!如果您對本文有任何疑問、建議或是想要分享您的看法,請不要猶豫,在評論區留下您的寶貴意見。每一次互動都是我前進的動力,您的支持是我最大的鼓勵。期待與您的交流,讓我們共同成長,探索技術世界的無限可能!?

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

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

相關文章

【人工智能學習之HDGCN18關鍵點修改】

【人工智能學習之HDGCN18關鍵點修改】 訓練部分修改部分 訓練部分 請參考文章&#xff1a;【人工智能學習之HDGCN訓練自己的數據集】 修改部分 參考源碼中25關鍵點的區域劃分&#xff0c;我們將18關鍵點劃分為&#xff1a; 頭部&#xff1a; 鼻子左眼和左耳右眼和右耳 上肢…

ARCGIS國土超級工具集1.2更新說明

ARCGIS國土超級工具集V1.2版本&#xff0c;功能已增加至47 個。在V1.1的基礎上修復了若干使用時發現的BUG&#xff0c;新增了"矢量分割工具"菜單&#xff0c;同時增加及更新了了若干功能&#xff0c;新工具使用說明如下&#xff1a; 一、勘測定界工具欄更新界址點成果…

華為OD --- 流浪地球

華為OD --- 流浪地球 題目獨立實現基本思路代碼實現 其他答案實現思路代碼實現 題目 獨立實現 基本思路 1、首先把題目給出的啟動機器初始化成數組, 2、用for循環模擬每隔1s更新這個初始化數組的前后兩個機器. (源碼中的updateTimeCount函數) 3、for循環每次循環后會檢查當前…

DataOps驅動數據集成創新:Apache DolphinScheduler SeaTunnel on Amazon Web Services

引言 在數字化轉型的浪潮中&#xff0c;數據已成為企業最寶貴的資產之一。DataOps作為一種文化、流程和實踐的集合&#xff0c;旨在提高數據管道的質量和效率&#xff0c;從而加速數據從源頭到消費的過程。白鯨開源科技&#xff0c;作為DataOps領域的領先開源原生公司&#xf…

【硬件IIC】stm32單片機利用硬件IIC驅動OLED屏幕

之前操作OLED屏幕都是用GPIO模擬IIC去驅動&#xff0c;最近打算用硬件IIC去驅動&#xff0c;于是寫下這個demo,在這個過程中遇到一點小坑&#xff0c;記錄一下&#xff0c;本文章非小白教程&#xff0c;所以只突出踩到的坑點&#xff0c;文章中涉及到的OLED也是網上資料寫爛的&…

python如何自動加空格

首先&#xff0c;需要進行打開的一個pycharm的軟件&#xff0c;可進行雙擊的打開該軟件。 可以看到的是在當前的打開的文件中&#xff0c;格式相對較亂一下。格式不對會格式錯誤。 然后點擊菜單欄中的“code”。 在彈出的下拉菜單中選擇“reformat code”選項。 可以看到的是在…

【開源免費】基于SpringBoot+Vue.JS網上訂餐系統(JAVA畢業設計)

本文項目編號 T 018 &#xff0c;文末自助獲取源碼 \color{red}{T018&#xff0c;文末自助獲取源碼} T018&#xff0c;文末自助獲取源碼 目錄 一、系統介紹二、演示錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀5.3 可行性分析 六、核心代碼6.1 新…

串口通信和SPI通信詳解

0、背景 在現代嵌入式系統中&#xff0c;通信是不同模塊之間交換數據的核心。串口通信和 SPI&#xff08;串行外設接口&#xff09;是兩種常見的通信方式&#xff0c;它們各自有獨特的優勢和適用場景。 1、串口通信 1.1、串口通信概念 串口通信是一種常見的異步串行通信協議…

javase-17、API.數學相關

一、Math類 Math類提供了大量的靜態方法來便于我們實現數學計算&#xff0c;如求絕對值、取最大或最小值等。 https://doc.qzxdp.cn/jdk/17/zh/api/java.base/java/lang/Math.html 所在模塊&#xff1a;java.base所在包&#xff1a; java.lang static double abs(double a)…

答題考試系統v1.6.1高級版源碼分享+uniapp+搭建測試環境

一.系統介紹 一款基于FastAdminThinkPHPUniapp開發的小程序答題考試系統&#xff0c;支持多種試題類型、多種試題難度、練題、考試、補考模式&#xff0c;提供全部前后臺無加密源代碼&#xff0c;支持私有化部署 二.測試環境 系統環境&#xff1a;CentOS、 運行環境&#x…

淺談倉頡語言的優劣

倉頡語言&#xff0c;作為華為自研的新一代編程語言&#xff0c;以其高效、安全、現代化的特點&#xff0c;引起了廣泛的關注。 倉頡語言的優勢 高效并發 倉頡語言的一大亮點是其輕松并發的能力。它實現了輕量化用戶態線程和并發對象庫&#xff0c;使得高效并發變得輕松。倉頡…

Sass系統數據隔離的三種方式

1.完全獨立的數據庫 為每一個租戶單獨部署一個數據庫 優點&#xff1a;達到了真正的按租戶進行隔離&#xff0c;不同租戶之間相互沒有影響&#xff0c;可以針對一些特殊租戶例如大客戶做一些定制化的開發&#xff0c;計費相對簡單&#xff0c;按照資源使用進行計費。 缺點&…

FFmpeg 主要結構體剖析

FFmpeg 探索之旅 FFmpeg 主要結構體剖析 FFmpeg 探索之旅前言1、AVFormatContext2、AVCodecContext3、AVCodec4、AVStream5、AVPacket6、AVFrame7、AVCodecParameters7、SwsContext8、AVIOContext9、AVRational 總結 前言 嘿&#xff0c;各位小伙伴&#xff01;在如今這個多媒…

經典電荷泵/Charge pump——1998.JSSC

電路結構 工作原理 M3 and M4 are the series switches, and M5, M6 switch to the highest voltage. If M5 and M6 are missing, having a large capacitor is of absolute necessity, because must always stay between 2 Vin and 2Vin - Uj to avoid switching on the vert…

Swin transformer 論文閱讀記錄 代碼分析

該篇文章&#xff0c;是我解析 Swin transformer 論文原理&#xff08;結合pytorch版本代碼&#xff09;所記&#xff0c;圖片來源于源paper或其他相應博客。 代碼也非原始代碼&#xff0c;而是從代碼里摘出來的片段&#xff0c;配上簡單數據&#xff0c;以便理解。 當然&…

GPT-Omni 與 Mini-Omni2:創新與性能的結合

近年來&#xff0c;隨著人工智能技術的飛速發展&#xff0c;各種模型和平臺應運而生&#xff0c;以滿足從個人用戶到企業級應用的多樣化需求。在這一領域&#xff0c;GPT-Omni 和 Mini-Omni2 是兩款備受矚目的技術產品&#xff0c;它們憑借獨特的設計和強大的功能&#xff0c;在…

龍迅#LT7911E適用于EDP/DP/TPYE-C轉MIPIDSI應用,支持圖像處理功能,內置I2C,主應用副屏顯示,投屏領域!

1. 描述 LT7911E 是一款高性能 eDP 轉 MIPI D-PHY 轉換器&#xff0c;旨在將 eDP 源連接到 MIPI 顯示面板。 LT7911E 集成了一個符合 eDP1.4 標準的接收器&#xff0c;支持 1.62Gbps 至 5.67Gbps 的輸入數據&#xff0c;以 270Mbps 的遞增步長&#xff0c;以及一個 2 端口 D…

C語言——實現求出最大值

問題描述&#xff1a;利用C語言自定義函數求出一維數組里邊最大的數字 //利用函數找最大數#include<stdio.h>int search(int s[9]) //查找函數 {int i , max s[0] , max_xia 0;for(i0;i<9;i){if(s[i] > max){max_xia i;max s[max_xia];}}return max; } in…

解鎖 draw.io 流程圖制作工具Docker私有化部署(2/2)

一、draw.io 流程圖制作工具簡介 &#xff08;一&#xff09;基礎介紹 draw.io 是一款備受青睞的開源流程圖軟件&#xff0c;它有著諸多優點。首先&#xff0c;其界面十分整潔有序&#xff0c;完全沒有廣告的干擾&#xff0c;并且所有功能都是免費向用戶開放的&#xff0c;這一…

[HNCTF 2022 Week1]baby_rsa

源代碼&#xff1a; from Crypto.Util.number import bytes_to_long, getPrime from gmpy2 import * from secret import flag m bytes_to_long(flag) p getPrime(128) q getPrime(128) n p * q e 65537 c pow(m,e,n) print(n,c) # 62193160459999883112594854240161159…