Pandas 入門 15 題

Pandas 入門 15 題

  • 1. 相關知識點
    • 1.1 修改DataFrame列名
    • 1.2 獲取行列數
    • 1.3 顯示前n行
    • 1.4 條件數據選取值
    • 1.5 創建新列
    • 1.6 刪去重復的行
    • 1.7 刪除空值的數據
    • 1.9 修改列名
    • 1.10 修改數據類型
    • 1.11 填充缺失值
    • 1.12 數據上下合并
    • 1.13 pivot_table透視表的使用
    • 1.14 melt透視表的使用
    • 1.15 條件查詢及排序
  • 2. 題目
    • 2.1 從表中創建 DataFrame((Pandas 數據結構)
    • 2.2 獲取 DataFrame 的大小(數據檢驗)
    • 2.3 顯示前三行(數據檢驗)
    • 2.4 數據選取(數據選取)
    • 2.5 創建新列(數據選取)
    • 2.6 刪去重復的行(數據清理)
    • 2.7 刪去丟失的數據(數據清理)
    • 2.8 修改列(數據清理)
    • 2.9 重命名列(數據清理)
    • 2.10 改變數據類型(數據清理)
    • 2.11 填充缺失值(數據清理)
    • 1.12 重塑數據:連結(表格重塑)
    • 1.13 數據重塑:透視(表格重塑)
    • 2.14 重塑數據:融合(表格重塑)
    • 2.15 方法鏈(高級技巧)

1. 相關知識點

1.1 修改DataFrame列名

data=pd.DataFrame(student_data,columns=['student_id','age'])

1.2 獲取行列數

players.shape

1.3 顯示前n行

employees.head(n)

1.4 條件數據選取值

students.loc[students['student_id']==101,['name','age']]
students[students['student_id']==101][['name','age']]
students.query('`student_id`==101')[['name','age']]

1.5 創建新列

  • 處理數據的時候,根據已知列得到新的列,可以考慮使用pandas.DataFrame.assign()函數
  • 使用assign函數不會改變原數據,而是返回一個新的DataFrame對象,包含所有現有列和新生成的列
  • 注意:assign和apply函數的主要區別在于前者不改變原數據,apply函數是在原數據的基礎上添加新列
employees['bonus']=employees['salary'].apply(lambda x:x*2)
employees=employees.assign(bonus=employees.salary*2)
employees['bonus']=employees['salary']*2

1.6 刪去重復的行

customers.drop_duplicates(subset=['email'],keep='first')

1.7 刪除空值的數據

# axis=0代表行
students.dropna(subset=['name'],how='any', axis=0,inplace = False)

1.9 修改列名

data=data.rename(columns={'Dest':'iata_code','index':'from'})
students.columns=['student_id','first_name','last_name','age_in_years']

1.10 修改數據類型

students['grade']=students['grade'].astype('int')

1.11 填充缺失值

products['quantity'].fillna(0,inplace=True)# products.replace({'quantity':{# None:0# }},inplace=True)

1.12 數據上下合并

df1._append(df2)
# pd.concat([df1,df2],axis=0)

1.13 pivot_table透視表的使用

weather.pivot_table(index='month',values='temperature',columns='city',aggfunc='sum')

1.14 melt透視表的使用

  • df.pivot() 將長數據集轉換成寬數據集,df.melt() 則是將寬數據集變成長數據集
pd.melt(report,id_vars['product'],var_name='quarter',value_name='sales')

1.15 條件查詢及排序

animals[animals['weight'] > 100].sort_values(by='weight', ascending=False)

2. 題目

2.1 從表中創建 DataFrame((Pandas 數據結構)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef createDataframe(student_data: List[List[int]]) -> pd.DataFrame: data=pd.DataFrame(student_data,columns=['student_id','age'])return data
student_data=[[1,15],[2,11],[3,11],[4,20]]print(createDataframe(student_data))

2.2 獲取 DataFrame 的大小(數據檢驗)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef getDataframeSize(players: pd.DataFrame) -> List[int]:return list(players.shape)

2.3 顯示前三行(數據檢驗)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:return employees.head(3)

2.4 數據選取(數據選取)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef selectData(students: pd.DataFrame) -> pd.DataFrame:return students.loc[students['student_id']==101,['name','age']]# return students[students['student_id']==101][['name','age']]# return students.query('`student_id`==101')[['name','age']]

2.5 創建新列(數據選取)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:employees['bonus']=employees['salary'].apply(lambda x:x*2)# employees=employees.assign(bonus=employees.salary*2)# employees['bonus']=employees['salary']*2return employees

2.6 刪去重復的行(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:return customers.drop_duplicates(subset=['email'],keep='first')

2.7 刪去丟失的數據(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef dropMissingData(students: pd.DataFrame) -> pd.DataFrame:# axis=0代表行return students.dropna(subset=['name'],how='any', axis=0,inplace = False)

2.8 修改列(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef modifySalaryColumn(employees: pd.DataFrame) -> pd.DataFrame:employees=employees.assign(salary=employees.salary*2)# employees['salary']=employees['salary'].apply(lambda x:x*2)# employees['salary']=employees['salary']*2return employees

2.9 重命名列(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef renameColumns(students: pd.DataFrame) -> pd.DataFrame:students.columns=['student_id','first_name','last_name','age_in_years']# dic={#     'id':'student_id',#     'first':'first_name',#     'last':'last_name',#     'age':'age_in_years'}# students=students.rename(columns=dic)return students

2.10 改變數據類型(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef changeDatatype(students: pd.DataFrame) -> pd.DataFrame:students['grade']=students['grade'].astype('int')return students

2.11 填充缺失值(數據清理)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef fillMissingValues(products: pd.DataFrame) -> pd.DataFrame:products['quantity'].fillna(0,inplace=True)# products['quantity']=products['quantity'].fillna(0)# products.replace({'quantity':{# None:0# }},inplace=True)return products

1.12 重塑數據:連結(表格重塑)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef concatenateTables(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:return df1._append(df2)# return pd.concat([df1,df2],axis=0)

1.13 數據重塑:透視(表格重塑)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef pivotTable(weather: pd.DataFrame) -> pd.DataFrame:return weather.pivot_table(index='month',values='temperature',columns='city',aggfunc='sum')# return weather.set_index(['month','city']).unstack()['temperature

2.14 重塑數據:融合(表格重塑)

在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef meltTable(report: pd.DataFrame) -> pd.DataFrame:report=pd.melt(report,id_vars=['product'],var_name='quarter',value_name='sales')return report

2.15 方法鏈(高級技巧)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

import pandas as pddef findHeavyAnimals(animals: pd.DataFrame) -> pd.DataFrame:animals = animals[animals['weight'] > 100].sort_values(by='weight', ascending=False)return animals[['name']]

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

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

相關文章

C#桌面應用開發:番茄定時器

C#桌面應用開發:番茄定時器 1、環境搭建和工程創建: 步驟一:安裝visual studio2022 步驟二:新建工程 2、制作窗體部件 *踩過的坑: (1)找不到工具箱控件,現象如下:…

軟件測試之接口自動化測試實戰(完整版)

🍅 視頻學習:文末有免費的配套視頻可觀看 🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 自從看到阿里云性能測試 PTS 接口測試開啟免費公測,就想著跟大家分享交流一下如何實現…

通義靈碼入選 2024 世界人工智能大會最高榮譽「鎮館之寶」

7 月 4 日,2024 上海世界人工智能大會正式開幕,并揭曉了今年的「鎮館之寶」名單,通義靈碼入選,是首個入圍該名單的 AI 編程助手。 鎮館之寶是世界人工智能大會展覽的最高榮譽,從科技含量、市場前景、創新性以及社會經濟…

OV通配符證書用于什么單位

OV(Organization Validation)通配符SSL證書是一種專門為組織或企業設計的SSL證書類型,它不僅提供了標準的SSL加密功能,還包含了對組織身份的驗證。這種證書非常適合以下幾種類型的單位使用: 企業級網站: …

【穩定檢索/投稿優惠】2024年教育、人文發展與藝術國際會議(EHDA 2024)

2024 International Conference on Education, Humanities Development and Arts 2024年教育、人文發展與藝術國際會議 【會議信息】 會議簡稱:EHDA 2024 大會時間:點擊查看 截稿時間:點擊查看 大會地點:中國北京 會議官網&#…

Linux系統中卸載GitLab

在Linux系統中卸載GitLab,主要可以通過包管理器(如apt、yum、rpm等)來實現,但具體步驟可能會因GitLab的安裝方式(如使用包管理器安裝、從源代碼安裝、使用Docker等)和Linux發行版的不同而有所差異。以下是一…

直飲水也要燒開飲用嗎?

某天上班,同事跟我說他的爸爸喝瓶裝水都要燒開了后再喝。 這種行為震驚了小編。 好像很多上一輩的人有種執念,那就是水一定要燒開了喝。 不僅是因為習慣,也是他們的觀念已經根深蒂固,認為燒開后的水喝起來才健康。 其實水不一…

華火電燃噴火單灶再榮獲中國質量認證中心 CQC 權威證書,引領行業新高度

近日,華火傳來了一則令整個行業矚目的重大喜訊:其電燃噴火單灶“再度”成功榮獲中國質量認證中心(CQC)權威證書。這一里重大程碑式的成就,不僅是對華火產品卓越品質的高度認可,更是華火在品牌發展道路上的一…

【launch語法記錄】—— ros中launch文件中的常見的語法參數的介紹

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言(1)<launch>節點(2)<node> 節點(3)<param> 標簽(4)<rosparam> 標簽(5)<include> 標簽(6)<arg> 標簽(7)<remap> 標簽…

uni-app使用ucharts地圖,自定義Tooltip鼠標懸浮顯示內容并且根據@getIndex點擊事件獲取點擊的地區下標和地區名

項目場景&#xff1a; uni-app使用ucharts地圖,自定義Tooltip鼠標懸浮顯示內容并且根據getIndex點擊事件獲取點擊的地區下標和地區名 例如&#xff1a; 問題描述 官方給的文檔有限&#xff0c;需要自己下載地圖json數據然后自己渲染和編寫鼠標懸浮顯示內容以及獲取點擊地址…

go語言day08 泛型 自定義錯誤處理 go關鍵字:協程

泛型&#xff1a; 拋錯誤異常 實現error接口類型 用java語言解釋的話&#xff0c;實現類需要重寫error類型的抽象方法Error().這樣就可以自定義異常處理。 回到go語言&#xff0c;在Error()方法中用*argError 這樣一個指針類來充當error接口的實現類。 在f2()方法中定義返回值…

榮耀電腦誤刪U盤文件?別慌,這里有找回方法

榮耀電腦誤刪U盤文件怎么找回&#xff1f;在日常工作和生活中&#xff0c;U盤是我們存儲和傳輸數據的重要工具之一。然而&#xff0c;在使用榮耀電腦時&#xff0c;如果不小心誤刪了U盤中的文件&#xff0c;可能會給我們帶來不小的困擾。但是&#xff0c;別慌&#xff01;本文將…

免費的才是王道,有哪些業務類、合同類的管理系統能夠讓我們受益終身?

看了題主提問&#xff0c;深感當今中小企業生存環境的艱辛。一方面是現在的智能生活軟件有了很深的普及和使用習慣&#xff0c;另外一個是行業競爭壓力越來越大不變不行。 但是生存不易&#xff0c;且行且珍惜&#xff0c;每一份錢都要用在刀刃上&#xff0c;各種預算一再壓縮…

Java中的服務治理與API網關實現

Java中的服務治理與API網關實現 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在分布式系統中&#xff0c;隨著服務數量的增加和復雜度的提升&#xff0c;如…

Android與Java后端聯調RSA加密的注意事項

項目中常常會遇到Android前端使用后端提供的公鑰加密數據的場景。需要注意Java后端的java.util.Base64默認Base64標準和Android的android.util.Base64是不一樣的。 此外&#xff0c;RSA算法標準也需要前后端顯式約定。 示例代碼&#xff1a; import android.util.Base64;impo…

CDC實時同步進行時遇到不可抗力中斷了怎么辦?

目錄 一、CDC技術的概念 二、CDC技術的應用場景 1.數據復制和同步 2.實時數據倉庫 3.業務過程監控和審計 4.ETL 進程優化 三、CDC與數據管道的關系 1.區別 CDC&#xff08;Change Data Capture&#xff09; 數據管道&#xff08;Data Pipeline&#xff09; 2.聯系 CDC是數據管道…

《Linux開發筆記》C語言編譯

C語言編譯過程 編譯過程主要分為四步&#xff1a;預處理、編譯、匯編、鏈接 預處理&#xff1a;主要用于查找頭文件、展開宏 編譯&#xff1a;把.i文件編譯成.s文件 匯編&#xff1a;把.s文件匯編為.o文件 鏈接&#xff1a;把多個.o文件鏈接成一個app 以上四個步驟主要由3個命…

JavaScript基礎知識5(對象)

JavaScript基礎知識5&#xff08;對象&#xff09; 對象創建對象使用對象字面量使用 new Object() 訪問和修改屬性點表示法方括號表示法 動態添加和刪除屬性添加屬性刪除屬性 對象方法對象的遍歷常用屬性和方法數學常量數學函數三角函數 使用示例生成隨機整數計算圓的面積求最大…

QStringListModel 綁定到QListView

1.QStringListModel 綁定到listView&#xff0c;從而實現MV模型視圖 2.通過QStringListModel的新增、刪除、插入、上下移動&#xff0c;listView來展示出來 3.下移動一行&#xff0c;傳入curRow2 的個人理解 布局 .h聲明 private:QStringList m_strList;QStringListModel *m_m…

Matlab|基于改進鯨魚優化算法的微網系統能量優化管理matlab-源碼

目錄 一、主要內容 二、部分代碼 三、運行結果 四、下載鏈接 一、主要內容 該程序為《基于改進鯨魚優化算法的微網系統能量優化管理》源碼&#xff0c;主要內容如下&#xff1a; 針對包含多種可再生能源的冷熱電聯供型微網系統的能量優化問題&#xff0c;為了優化其運行過程…