Python學習筆記第五十五天(Pandas CSV文件)

Python學習筆記第五十五天

  • Pandas CSV 文件
    • read_csv()
    • to_string()
    • to_csv()
  • 數據處理
    • head()
    • tail()
      • fillna()
    • info()
  • 后記

Pandas CSV 文件

CSV(Comma-Separated Values,逗號分隔值,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。

CSV 是一種通用的、相對簡單的文件格式,被用戶、商業和科學廣泛應用。

read_csv()

Pandas 可以很方便的處理 CSV 文件,本文以 data.csv 為例,你可以下載 data.csv 或打開 data.csv 查看。

# 實例 1
import pandas as pd
df = pd.read_csv('data.csv')
print(df.to_string())

to_string()

to_string() 用于返回 DataFrame 類型的數據,如果不使用該函數,則輸出結果為數據的前面 5 行和末尾 5 行,中間部分以 … 代替。

# 實例 2
import pandas as pd
df = pd.read_csv('data.csv')
print(df)

to_csv()

我們也可以使用 to_csv() 方法將 DataFrame 存儲為 csv 文件:

# 實例 3
import pandas as pd
# 三個字段 name, site, age
nme = ["Google", "Taobao", "Wiki"]
st = ["www.google.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 80, 98]
# 字典
dict = {'name': nme, 'site': st, 'age': ag}    
df = pd.DataFrame(dict)
# 保存 dataframe
df.to_csv('site.csv')

數據處理

head()

head( n ) 方法用于讀取前面的 n 行,如果不填參數 n ,默認返回 5 行。

# 實例 5 
import pandas as pd
df = pd.read_csv('data.csv')
# 讀取前面 5 行
print(df.head())

注意,head()默認返回的是前5行,如果你想改變默認行數,你可以通過head()函數中的參數n進行設置。此外,你需要首先導入pandas庫并讀取csv文件到DataFrame對象。

# 實例 6
import pandas as pd
df = pd.read_csv('data.csv')
# 讀取前面 10 行
print(df.head(10))

tail()

tail( n ) 方法用于讀取尾部的 n 行,如果不填參數 n ,默認返回 5 行,空行各個字段的值返回 NaN。如果指定參數n,則返回最后n行。如果n大于DataFrame的行數,則返回全部的行。

# 實例 7
import pandas as pd
df = pd.read_csv('data.csv')
# 讀取末尾 5 行
print(df.tail())

注意,實例中,已經正確使用了tail()方法來讀取’data.csv’文件的最后5行。如果文件有足夠的行數,那么tail()方法會返回最后5行數據。如果文件不足夠長,那么返回的行數將與文件的實際行數相同。
另外,對于空行,Pandas將其各個字段的值返回NaN。如果你希望將空行視為具有特定值(例如0或’')的行,你可以使用fillna()方法來填充缺失值。

fillna()

# 實例 8
import pandas as pd
df = pd.read_csv('data.csv')
# 將空行填充為0
print(df.tail().fillna(0))

讀取末尾 10 行也是一樣的

# 實例 9
import pandas as pd
df = pd.read_csv('data.csv')
# 讀取末尾 10 行
print(df.tail(10).fillna(0))

info()

info()方法在Pandas庫中主要用于輸出DataFrame的相關信息。這包括行數、列數、非空值的數量以及每列的數據類型等。

當你在一個DataFrame對象上調用info()方法時,它會輸出以下信息:

  1. DataFrame的索引(行標簽)的詳細信息,包括最小值、最大值、唯一值和步長。
  2. DataFrame的列標簽及其一些統計信息,包括數據類型、非空值的數量等。
  3. DataFrame的行數和列數。
# 實例 10
import pandas as pd
df = pd.read_csv('data.csv')
print(df.info())

當你運行上述代碼時,info()方法將輸出類似以下的信息(具體內容取決于你的數據)舉個例子如下:

<class 'pandas.core.frame.DataFrame'>  
RangeIndex: 500 entries, 0 to 499  	 		# 行數,500 行,第一行編號為 0
Data columns (total 13 columns): 			# 列數,13列
#   Column  Non-Null Count  Dtype   		# 各列的數據類型
---  ------  --------------  -----    
0   team    500 non-null    object  		# non-null,意思為非空的數據 
1   player  483 non-null    object  
2   pos     483 non-null    object  
3   age     483 non-null    float64  
4   height   483 non-null    float64  
...  
11  mp_mp   500 non-null    float64  
12  mp40     500 non-null    float64  
13  mp40g    498 non-null    float64  
dtypes: float64(7), int64(2), object(4)  	# 類型
memory usage: 49.3 KB

這個輸出說明了:

  • DataFrame的類別(在這個例子中是一個pandas DataFrame)和索引范圍。
  • DataFrame的列數和非空值的數量。
  • 每列的非空值數量和數據類型。
  • 每列的缺失值數量(如果有的話)。
  • DataFrame使用的內存量。

后記

今天學習的是Python Pandas DataFrame學會了嗎。 今天學習內容總結一下:

  1. Pandas CSV 文件
  2. read_csv()
  3. to_string()
  4. to_csv()
  5. 數據處理
  6. head()
  7. tail()
  8. info()

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

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

相關文章

【嵌入式學習筆記】嵌入式入門7——IIC總線協議

1.IIC簡介 IIC即Inter Integrated Circuit&#xff0c;集成電路總線&#xff0c;是一種同步&#xff0c;串行&#xff0c;半雙工通信總線。 IIC總線協議——總線就是傳輸數據通道&#xff0c;協議就是傳輸數據的規則&#xff0c;有以下特點&#xff1a; 由時鐘線SCL和數據線S…

ES踩坑記錄之集群間通信異常造成節點無法加入

問題描述 公司新搭了一套ES集群&#xff0c;4臺機器&#xff0c;ES版本7.5.0&#xff0c;前期搭建十分順利&#xff0c;但集群運行一段時間后會出現問題。問題具體體現為節點間通訊異常&#xff0c;集群會重新選主&#xff0c;但選主之后只能通過新的主節點進行集群操作&#…

【Linux】可重入函數 volatile關鍵字 以及SIGCHLD信號

可重入函數 volatile關鍵字 以及SIGCHLD信號 一、可重入函數1、引入2、可重入函數的判斷 二、volatile關鍵字1、引入2、關于編譯器的優化的簡單討論 三、SIGCHLD信號 一、可重入函數 1、引入 我們來先看一個例子來幫助我們理解什么是可重入函數&#xff1a; 假設我們現在要對…

EthGlobal 巴黎站 Chainlink 獲獎項目介紹

在 Web3 中&#xff0c;每一周都至關重要。項目的發布、版本的發布以及協議的更新以驚人的速度推出。開發者必須保持學習&#xff0c;隨時了解最新的工具&#xff0c;并將所有他們所學的東西&#xff08;無論是舊的還是新的&#xff09;聯系起來&#xff0c;以構建推動 Web3 技…

PLUS操作流程、應用與實踐,多源不同分辨率數據的處理、ArcGIS的應用、PLUS模型的應用、InVEST模型的應用

PLUS模型是由中國地質大學&#xff08;武漢&#xff09;地理與信息工程學院高性能空間計算智能實驗室開發&#xff0c;是一個基于柵格數據的可用于斑塊尺度土地利用/土地覆蓋(LULC)變化模擬的元胞自動機(CA)模型。PLUS模型集成了基于土地擴張分析的規則挖掘方法和基于多類型隨機…

Word轉PDF在線轉換如何操作?分享轉換技巧

現如今&#xff0c;pdf轉換器已成為大家日常辦公學習必不可少的工具&#xff0c;市場上的pdf轉換器主要有兩種類型&#xff0c;一種是需要下載安裝的&#xff0c;另一種是網頁版&#xff0c;打開就可以使用的&#xff0c;今天小編給大家推薦一個非常好用的網頁版pdf轉換器&…

基于jvm-sandbox的imock開發指南

基于jvm-sandbox的imock開發指南 團隊今年的指標是為公司提供一個方法級的mock平臺&#xff0c; 這個重要的任務落在了我的身上。 0、明確團隊的需求 支持java后端服務方法級別的mock&#xff0c;對沒有測試環境的第三方服務進行mock&#xff0c;增加團隊覆蓋率。 啟用&#x…

PDF換行的難度,誰能解決?

換行的時候確認不了長度&#xff1a; import java.awt.*;public class Test {public static void main(String[] args) {String str1 "淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘淘";String str2 "AAAAAAAAAAAAAAAAAAAAAAAAA…

實驗篇——亞細胞定位

實驗篇——亞細胞定位 文章目錄 前言一、亞細胞定位的在線網站1. UniProt2. WoLFPSORT3. BUSCA4. TargetP-2.0 二、代碼實現1. 基于UniProt&#xff08;不會&#xff09;2. 基于WoLFPSORT后續&#xff08;已完善&#xff0c;有關代碼放置于[python爬蟲學習&#xff08;一&#…

一零七零、Redis基礎穩固篇

Redis是什么&#xff0c;優缺點&#xff1f; Redis本質是一個K-V類型的內存數據庫 純內存操作&#xff0c;每秒可處理超過10w的讀寫操作 優點&#xff1a; 讀寫性能極高 非阻塞IO 單線程 支持持久化 支持事務 數據結構豐富 缺點&#xff1a; 容易受到物理內存的限制 主機宕機可…

【JAVA】日志

輸出語句日志輸出位置只能是控制臺可以將日志信息寫入文件或數據庫中取消日志需要修改代碼&#xff0c;靈活性差只需修改日志文件多線程性能較差性能較好 日志規范接口&#xff1a;Commons Logging(JCL)、Simple Logging Facade for Java(slf4j) 日志實現框架&#xff1a;Log…

軟件測試簡歷撰寫與優化,讓你面試邀約率暴增99%!

如何撰寫一份優秀的簡歷呢&#xff1f;&#xff1f;這是一個求職者都會遇到的問題&#xff0c;今天就來詳細帶大家寫一份軟件測試工程師職位的簡歷&#xff01;希望能給各位軟件測試求職者一個帶來幫助&#xff01; 個人簡歷是求職者給招聘單位發的一份簡要介紹。包含自己的基本…

linux系統服務學習(一)Linux高級命令擴展

文章目錄 Linux高級命令&#xff08;擴展&#xff09;一、find命令1、find命令作用2、基本語法3、*星號通配符4、根據文件修改時間搜索文件☆ 聊一下Windows中的文件時間概念&#xff1f;☆ 使用stat命令獲取文件的最后修改時間☆ 創建文件時設置修改時間以及修改文件的修改時間…

【Vue】Vue2創建移動端項目實戰教程,創建移動端項目保姆級教程,設置axios,utils工具包,vue.fonfig.js配置項 (下)

系列文章目錄 這里是創建移動端項目 【Vue】Vue2.x創建項目全程講解&#xff0c;保姆級教程&#xff0c;手把手教&#xff0c;Vue2怎么創建項目&#xff08;上&#xff09; 【Vue】Vue2創建移動端項目實戰教程&#xff0c;創建移動端項目保姆級教程&#xff0c;接上一篇創建Vue…

2023牛客暑期多校訓練營9 B.Semi-Puzzle: Brain Storm

文章目錄 題目大意題解求解回溯 參考代碼 題目大意 給定兩個數 a , m a,m a,m &#xff0c;求滿足 a u ≡ u ( m o d m ) a^u \equiv u (mod\ \ m) au≡u(mod m) 的一個解。 ( 1 ≤ a , m ≤ 1 0 9 , 0 ≤ u ≤ 1 0 18 ) (1\leq a,m \leq10^9 ,0\leq u\leq 10^{18}) (1≤a…

玩賺音視頻開發高階技術——FFmpeg

隨著移動互聯網的普及&#xff0c;人們對音視頻內容的需求也不斷增加。無論是社交媒體平臺、電商平臺還是在線教育&#xff0c;都離不開音視頻的應用。這就為音視頻開發人員提供了廣闊的就業機會。根據這些年來網站上的音視頻開發招聘需求來看&#xff0c;音視頻開發人員的需求…

如何優雅的使用Mock Server

事出有因 昨天跟同事討論我們在用的rap2(一個集接口編寫和mock server的開源項目)和剛上線了一個easy-mock的server&#xff0c;到底哪個好用。 我們主要討論的點有個兩個&#xff1a; 接口的一致性、 編碼的無侵入性。 背景 自從前后端分離后&#xff0c;完成前后端的分工…

【計算機視覺|生成對抗】條件生成對抗網絡(CGAN)

本系列博文為深度學習/計算機視覺論文筆記&#xff0c;轉載請注明出處 標題&#xff1a;Conditional Generative Adversarial Nets 鏈接&#xff1a;[1411.1784] Conditional Generative Adversarial Nets (arxiv.org) 摘要 生成對抗網絡&#xff08;Generative Adversarial…

Windows 11 家庭中文版找不到組策略文件gpedit.msc

最近因為調整日期問題需要用到組策略文件gpedit.msc,但是發現找不到文件 在按鍵盤 winR 打開運行界面輸入 gpedit.msc 回車 Windows找不到文件’gpedit.msc’。請確定文件名是否正確后&#xff0c;再試-次。 檢查電腦Windows系統版本 是 Windows 11 家庭中文版 果斷早網上搜…

C++模板元編程入門案例

C++模板元編程(Template Metaprogramming)是一種在編譯時進行計算和代碼生成的技術,它使用C++的模板機制來實現。 下面是一個簡單的C++模板元編程的示例,展示了如何在編譯時計算一個數的階乘。 #include <iostream> template <int N> struct Factorial { …