Pandas 學習(數學建模篇)

今天學習數學建模2023年C篇(228)優秀論文

2023高教社杯全國大學生數學建模競賽C題論文展示(C228) - 2023C題論文 - 中國大學生在線

一.pd.DataFrame

pd.DataFrame()?是 pandas 庫中用于創建二維表格數據結構(DataFrame)的核心函數。它的作用是將各種格式的數據(如字典、列表、Series 等)轉換為帶有行索引和列標簽的表格形式,便于數據處理和分析.

import  pandas as pd
data={'單品編碼': ['001', '002', '003'],'分類名稱': ['水果', '蔬菜', '水果'],'價格': [5.0, 3.0, 8.0]}
#解讀:{}為字典,{A:B}為字典里面的健值對。[a,b,c]為列表
print(pd.DataFrame(data))

輸出:

 單品編碼 分類名稱   價格
0  001   水果  5.0
1  002   蔬菜  3.0
2  003   水果  8.0

二,mapping_dict =df_1.set_index('單品編碼')['分類名稱'].to_dict()代碼解讀

(一)df_1.set_index('單品編碼') 這一步會把 DataFrame df_1 的索引設置為單品編碼列,返回一個新的 DataFrame。

  • 示例:假設原 DataFrame 是:
       單品編碼  分類名稱   價格
    0  001    水果    5.0
    1  002    蔬菜    3.0
    2  003    水果    8.0

? ? ?執行后,變成:

       分類名稱   價格
單品編碼             
001     水果    5.0
002     蔬菜    3.0
003     水果    8.0

(二)['分類名稱']

? ? ? ? ?這一步會從上面的 DataFrame 中選取分類名稱列,返回一個 Series,其中單品編碼是索引,分類名稱是值。

單品編碼
001    水果
002    蔬菜
003    水果
Name: 分類名稱, dtype: object

(3)to_dict()

這一步會把 Series 轉換為字典,其中索引(單品編碼)會成為字典的鍵,值(分類名稱)會成為字典的對應值

{'001': '水果', '002': '蔬菜', '003': '水果'}

三,關于series的知識點

Series?是 pandas 庫中一種一維帶標簽的數據結構,類似于帶索引的數組或列表。它可以存儲任何數據類型(整數、字符串、浮點數、Python 對象等),并且每個元素都有一個對應的標簽(索引)。理解?Series?是掌握 pandas 的基礎,因為它是?DataFrame(二維表格)的基本組成單元。

創建方式:

import pandas as pd# 從列表創建,默認索引為 0, 1, 2...
s = pd.Series([10, 20, 30, 40])
print(s)
# 輸出:
# 0    10
# 1    20
# 2    30
# 3    40
# dtype: int64# 指定自定義索引
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
# 輸出:
# a    10
# b    20
# c    30
# d    40
# dtype: int64

理解Series與DataFrame的關系:

  • DataFrame?是由多個?Series?組成的二維表格,每一列都是一個 Series。
  • Series?的索引對應 DataFrame 的行索引,Series 的名稱(name 屬性)對應 DataFrame 的列名。
  • 代碼示例:
    # 用兩個 Series 創建 DataFrame
    s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'], name='A')
    s2 = pd.Series([4, 5, 6], index=['a', 'b', 'c'], name='B')df = pd.DataFrame({'列1': s1, '列2': s2})
    print(df)
    # 輸出:
    #    列1  列2
    # a   1   4
    # b   2   5
    # c   3   6

    三,grouped = df.groupby('單品編碼')的解析

    groupby作用是根據?df?這個 DataFrame 中 ‘單品編碼’ 這一列的值,將?df?中的行進行分組。它創建了一個特殊的 Pandas 對象,稱為“GroupBy 對象”(grouped),這個對象內部包含了按 ‘單品編碼’ 分組后的各個數據子集。

    不是直接獲取列,而是基于列的值進行分組
    示例:當我們獲得這樣的數據后:

    日期	單品編碼	銷售量
    2023-01-01	A001	10
    2023-01-15	A002	5
    2023-02-01	A001	8
    2023-02-10	A003	12
    2023-03-05	A002	7
    2023-03-20	A001	15
     grouped = df.groupby('單品編碼')for name, group in grouped:print(f"分組鍵: {name}")print(group)print("-" * 20)

    輸出為:

        分組鍵: A001日期     單品編碼  銷售量0 2023-01-01    A001    102 2023-02-01    A001     85 2023-03-20    A001    15--------------------分組鍵: A002日期     單品編碼  銷售量1 2023-01-15    A002     54 2023-03-05    A002     7--------------------分組鍵: A003日期     單品編碼  銷售量3 2023-02-10    A003    12--------------------

    四,字典的創建

  • 創建一個空字典:

  •    results = {}

    添加字典

  •    results[key] = value

    這將為字典?results?添加一個鍵為?key、值為?value?的鍵值對。如果?key?已經存在,則更新其對應的值。

  • 訪問值

       value = results[key]

    這將獲取鍵?key?對應的值。如果?key?不存在,將引發?KeyError。

  • 就學到這,內容比較基礎,謝謝觀看

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

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

相關文章

第七講:C++中的string類

目錄 1、認識string類 2、標準庫中的string類 2.1、string類的常見接口 2.1.1、構造與賦值重載 2.1.2、迭代器 2.1.3、容量 2.1.4、訪問 2.1.5、修改 2.1.6、字符串操作 2.1.7、成員常量 2.1.8、非成員函數 2.1.9、轉換函數 2.2、vs和g下的string 2.2.1、vs下的s…

elementUI 前端表格table數據導出(一)

為啥前端導出不在贅述了第一步:安裝xlsxnpm install xlsx第二步:創建js文件html2excelimport * as XLSX from xlsx;const htmlToExcel {getExcel(dom, title temp){var excelTitle title;// const XLSX require("xlsx");var wb XLSX.util…

LabVIEW 波形圖表橫坐標顯示當前日期

LabVIEW 程序如何實現波形圖表橫坐標顯示當前日期一、XY Graph 時間關聯邏輯(右上角分支)功能本質實時采集當前系統時間(秒數形式,基于 1904 基準),直接映射為 XY Graph 的 X 軸時間標識,實現動…

Android Soundtrigger喚醒相關時序學習梳理

本文所寫內容是在高通芯片平臺相關代碼基礎上學習整理匯總,如有描述不當之處,歡迎指正!1、SoundTrigger注冊喚醒監聽事件回調流程(SoundTrigger HAL層到ADSP層,不包括FWK層)//(1)SoundTriggerSession 回調 …

OSPF實驗以及核心原理全解

OSPF(Open Shortest Path First,開放式最短路徑優先)是一種基于鏈路狀態的內部網關協議(IGP),廣泛應用于中大型網絡中。它通過維護網絡拓撲信息,使用 SPF(最短路徑優先)算…

Using Spring for Apache Pulsar:Transactions

本節介紹Spring for Apache Pulsar如何支持事務。OverviewSpring for Apache Pulsar事務支持是基于Spring Framework提供的事務支持構建的。在高層,事務資源向事務管理器注冊,事務管理器反過來處理注冊資源的事務狀態(提交、回滾等&#xff0…

在Ubuntu上從零開始編譯并運行Home Assistant源碼并集成HACS與小米開源的Ha Xiaomi Home

目錄1. 前言&&疊甲2. 使用的環境3. 相關鏈接4. 前期步驟4.1 安裝路徑提前說明4.2 Ubuntu 相關依賴安裝4.3 Python源碼編譯安裝4.3.1 編譯安裝4.3.2 換源4.3.3 環境變量5. 構建Home Assistant源碼5.1 clone源碼5.2 創建虛擬Python環境5.3 安裝項目依賴5.4 安裝項目5.5 運…

【實習篇】之Http頭部字段之Disposition介紹

Http頭部字段之DispositionDisposition頭部字段介紹RFC規范介紹RFC 6266與RFC 2047實習的時候公司將一個某個關于下載的Bug交給了我來修,看了代碼和日志后發現是Disposition字段的規范兼容性惹的鍋,因為有些協議使用的是老協議,我們的項目沒有…

VM文件管理與Vi/vim操作

[rootlocalhost /]# sudo mkdir /opt [rootlocalhost /]# sudo mkdir /opt/tmp [rootlocalhost /]# sudo touch /opt/tmp/a.txt [rootlocalhost /]# ls /opt/tmp/ a.txt [rootlocalhost /]# 3.步驟1:創建文件并插入日期時間vi /tmp/newfile在vi編輯器中輸入以下命令…

【Android】安卓四大組件之內容提供者(ContentProvider):從基礎到進階

你手機里的通訊錄,存儲了所有聯系人的信息。如果你想把這些聯系人信息分享給其他App,就可以通過ContentProvider來實現。。 一、什么是 ContentProvider ?ContentProvider? 是 Android 四大組件之一,負責實現?跨應用程序的數據共享與訪問…

Vue-19-前端框架Vue之應用基礎組件通信(二)

文章目錄 1 v-model(父子相傳)1.1 App.vue1.2 Father.vue1.2.1 v-model用在html標簽上1.2.2 v-model用在html標簽上(本質寫法)1.2.3 v-model用在組件標簽上1.2.4 v-model用在組件標簽上(本質寫法)1.3 MyInput(自定義的組件)1.4 修改modelValue1.4.1 Father.vue1.4.2 MyInput.vu…

寶塔下載pgsql適配spring ai

1.寶塔安裝pgvector 1.先去github下載pgvectorpgvector/pgvector: Open-source vector similarity search for Postgres 2.把壓縮包上傳到系統文件的/temp下解壓,重命名文件名為pgvector,之后命令操作 cd /tmp cd pgvector export PG_CONFIG/www/serv…

RK3568項目(八)--linux驅動開發之基礎外設(上)

目錄 一、引言 二、準備工作 ------>2.1、驅動加載/卸載命令 三、字符設備驅動開發 ------>3.1、驅動模塊的加載和卸載 ------>3.2、外部模塊編譯模板 Makefile ------>3.3、cdev 四、LED驅動 ------>4.1、原理圖 ------>4.2、驅動 五、設備樹 -…

BUUCTF在線評測-練習場-WebCTF習題[GXYCTF2019]BabySQli1-flag獲取、解析

解題思路打開靶場,題目提示是sql注入輸入數據,判斷下閉合11123報錯:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 1 at line 1報錯提示…

“AI 曼哈頓計劃”:科技競賽還是人類挑戰?

美國國會下屬的經濟與安全審查委員會已將“推動建立并資助一項堪比曼哈頓計劃的通用人工智能研發項目”列為其對國會的核心建議之一,明確顯示出對AI競賽戰略意義的高度重視。與此同時,美國能源部在近幾個月中多次公開將人工智能的突破比作“下一場曼哈頓…

音頻信號的預加重:提升語音清晰度

一、預加重介紹預加重是一種信號處理技術,主要用于增強音頻信號中的高頻成分。由于人類語音的頻譜特性,尤其是在輔音和音調的表達上,高頻成分對于語音的清晰度至關重要。然而,在錄音和傳輸過程中,這些高頻成分往往會受…

WebSocket實戰:實現實時聊天應用 - 雙向通信技術詳解

目錄一、WebSocket:實時通信的"高速公路"1.1 HTTP的短板:永遠的"單相思"1.2 WebSocket的優勢:真正的"雙向對話"二、30分鐘搭建聊天服務器2.1 環境準備2.2 WebSocket配置類2.3 核心消息處理器三、前端實現&…

宏集案例 | 基于CODESYS的自動化控制系統,開放架構 × 高度集成 × 遠程運維

??案例概況客戶:MACS Sterilisationsanlagen GmbH(Ermafa Environmental Technologies GmbH 旗下) 應用場景:醫療與感染性廢棄物的無害化處理控制系統應用產品:宏集Berghof高性能控制器設備(一&#xff0…

學習JNI 二

創建一個名為Learn1項目(Android Studio)。一、項目結構二、配置 build.gradlebuild.gradle.kts(:app)plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android) }android {namespace "com.demo.learn1&quo…

基于Spring Boot+Vue的DIY手工社預約管理系統(Echarts圖形化、騰訊地圖API)

2.10 視頻課程管理功能實現2.11手工互動(視頻彈幕)2.8預約設置管理功能實現🎈系統亮點:Echarts圖形化、騰訊地圖API;文檔包含功能結構圖、系統架構圖、用例圖、實體屬性圖、E-R圖。一.系統開發工具與環境搭建1.系統設計…