深入了解pandas庫

Python中最流行的數據處理庫之一是Pandas。 Pandas的目標是提供一個在Python中操作表格類數據(如電子表格或SQL資料庫表)的高級數據結構和分析工具。 本文將對 Pandas 中最常用的功能和方法進行詳細講解。

一、數據結構

Pandas 庫提供了兩種主要數據結構,Series 和 DataFrame。

1. Series 數據結構

一個 Series 是一維數組對象,可以存儲任何數據類型(整數,字元串,浮點數,Python對象等)。 Series 可以看做是由兩個數組組成,一個用於存儲數據,另一個用於存儲標籤或索引,即 Series 中的 index。

import pandas as pd
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

輸出:

0    1
1    2
2    3
3    4
4    5
dtype: int64

2. DataFrame 數據結構

一個 DataFrame 可以看做是在一個或多個軸(行和列)上具有標籤索引(類似於一個 Excel 表格或 SQL 中的表)。 Pandas DataFrame 可以存儲多種類型的數據,並將其視為二維表。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)
print(df)

輸出:

       name  age gender
0     Alice   25      F
1       Bob   32      M
2   Charlie   18      M
3     David   47      M

二、文件讀取和寫入

Pandas 支持各種文件格式的讀取和寫入,包括 CSV、Excel、SQL、JSON、HTML 和 HDF5 等。Pandas 提供了許多文件讀取和寫入函數,其中最常用的是 read_csv() 和 to_csv() 函數。

1. 讀取 CSV 文件

import pandas as pd
df = pd.read_csv('file.csv')
print(df)

2. 寫入 CSV 文件

import pandas as pd
df = pd.read_csv('file.csv')
df.to_csv('new_file.csv', index=False)

三、數據查詢和過濾

Pandas 為數據查詢和過濾提供了多種功能,如篩選行、選擇列、分組、排序和合併等。

1. 篩選行

使用 loc 和 iloc 兩個函數篩選行。其中loc可以使用標籤進行篩選,iloc可以使用索引進行篩選。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

df = df.loc[df['age'] > 30]
print(df)

2. 選擇列

使用 df.列名 或 df[列名] 進行列的選擇。df.列名 只允許選擇一個列,而df[列名] 可以同時選擇多個列。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

print(df['name'])
print(df[['name', 'age']])

3. 分組聚合

使用 groupby 函數將數據按照某個欄位(列)進行分組,然後對每組數據進行聚合操作,如求平均值、求和、計數等。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

grouped = df.groupby(by='gender')
print(grouped['age'].mean())

4. 排序

使用 sort_values 函數對數據進行排序,默認為升序排序。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

df.sort_values(by='age', inplace=True)
print(df)

四、數據可視化

Pandas 可以使用多種圖表庫(如 Matplotlib 和 Seaborn 等)進行數據可視化操作,用於幫助我們更好地理解和分析數據。

1. 折線圖

使用 plot 函數進行折線圖的繪製。

import pandas as pd
import matplotlib.pyplot as plt

data = {'year': [2010, 2011, 2012, 2013, 2014, 2015, 2016],
        'sales': [100, 200, 300, 400, 500, 600, 700]}
df = pd.DataFrame(data)

df.plot(x='year', y='sales', kind='line')
plt.show()

2. 柱狀圖

使用 plot 函數進行柱狀圖的繪製。

import pandas as pd
import matplotlib.pyplot as plt

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47]}
df = pd.DataFrame(data)

df.plot(x='name', y='age', kind='bar', color='purple')
plt.show()

3. 散點圖

使用 plot 函數進行散點圖的繪製。

import pandas as pd
import matplotlib.pyplot as plt

data = {'x': [1, 2, 3, 4, 5], 
        'y': [2, 4, 1, 3, 5]}
df = pd.DataFrame(data)

df.plot(x='x', y='y', kind='scatter', color='red')
plt.show()

原創文章,作者:ZVSD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136661.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZVSD的頭像ZVSD
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相關推薦

  • Pandas下載whl指南

    本篇文章將從幾個方面為大家詳細解答如何下載Pandas的whl文件。 一、Pandas簡介 Pandas是一個基於Python的軟體庫,主要用於數據分析、清洗和處理。在數據處理方面…

    編程 2025-04-28
  • 如何在Python中安裝和使用Pandas

    本文將介紹如何安裝和使用Python的Pandas庫 一、Pandas庫的介紹 Pandas是Python的一個數據分析庫,提供了許多實用的數據結構和數據分析工具,可以幫助用戶輕鬆…

    編程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25
  • 深入理解byte轉int

    一、位元組與比特 在討論byte轉int之前,我們需要了解位元組和比特的概念。位元組是計算機存儲單位的一種,通常表示8個比特(bit),即1位元組=8比特。比特是計算機中最小的數據單位,是…

    編程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什麼是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一個內置小部件,它可以監測數據流(Stream)中數據的變…

    編程 2025-04-25
  • 深入探討OpenCV版本

    OpenCV是一個用於計算機視覺應用程序的開源庫。它是由英特爾公司創建的,現已由Willow Garage管理。OpenCV旨在提供一個易於使用的計算機視覺和機器學習基礎架構,以實…

    編程 2025-04-25
  • 深入了解scala-maven-plugin

    一、簡介 Scala-maven-plugin 是一個創造和管理 Scala 項目的maven插件,它可以自動生成基本項目結構、依賴配置、Scala文件等。使用它可以使我們專註於代…

    編程 2025-04-25
  • 深入了解LaTeX的腳註(latexfootnote)

    一、基本介紹 LaTeX作為一種排版軟體,具有各種各樣的功能,其中腳註(footnote)是一個十分重要的功能之一。在LaTeX中,腳註是用命令latexfootnote來實現的。…

    編程 2025-04-25
  • 深入理解Python字元串r

    一、r字元串的基本概念 r字元串(raw字元串)是指在Python中,以字母r為前綴的字元串。r字元串中的反斜杠(\)不會被轉義,而是被當作普通字元處理,這使得r字元串可以非常方便…

    編程 2025-04-25
  • 深入了解Python包

    一、包的概念 Python中一個程序就是一個模塊,而一個模塊可以引入另一個模塊,這樣就形成了包。包就是有多個模塊組成的一個大模塊,也可以看做是一個文件夾。包可以有效地組織代碼和數據…

    編程 2025-04-25

發表回復

登錄後才能評論