如何在 Pandas 中使用 axis=0 和 axis=1?
作為程式設計師,當我們需要處理資料時,可能需要僅對行或列或兩者都執行操作。在 Pandas 中,axis 指的是函式或操作如何應用於資料框或序列。Pandas 只能將 0 或 1 作為引數傳遞給 axis 屬性。在本文中,我們將學習如何在 Pandas 中使用 axis=0 和 axis=1。
理解 axis
在繼續之前,讓我們簡要介紹一下 Pandas 的 axis。眾所周知,Pandas 中的資料框是一個由行和列組成的二維表格常量。
Axis 0 - Axis 0 指的是資料框或序列的行。它通常被稱為“索引軸”。當沿 axis 0 應用操作時,意味著該操作應用於資料框或序列的每一行。
Axis 1 - Axis 1 指的是資料框或序列的列。它通常被稱為“列軸”。當沿 axis 1 應用操作時,意味著該操作應用於資料框或序列的每一列。
使用 axis=0
如前所述,axis=0 指的是資料框或序列的行。我們可以使用此屬性將任何內建函式應用於行。請注意,這會處理資料中存在的任何空值。在這種情況下,它將簡單地忽略該元素。
語法
row_operation = df.<operation>(axis=0)
這裡 df 是我們需要應用操作的資料框。<operation> 是我們需要執行的操作。例如,“sum” 是一個有效操作。確保操作有效。axis=0 指定我們需要按行應用操作。
示例
在下面的程式碼中,我們首先使用別名匯入了 Pandas 和 NumPy 庫。接下來,我們使用 Pandas 庫的 Data Frame 方法建立了一個名為 df 的資料框。我們沿 axis=0(即按行)對資料框應用了求和操作。這裡第一行、第二行和第三行的值為 1、4、7;因此,我們得到第一列的結果 1+4+7 = 12。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['A', 'B', 'C'])
row_sum = df.sum(axis=0)
print(row_sum)
輸出
A 12 B 15 C 18 dtype: int64
使用 axis=1
axis=1 指的是資料框或序列的列。我們可以使用此屬性將任何內建函式應用於列。請注意,這也會處理資料中存在的任何空值。在這種情況下,它將簡單地忽略該元素。
語法
column_operation = df.<operation>(axis=1)
這裡 df 是我們需要應用操作的資料框。<operation> 是我們需要執行的操作。例如,“sum” 是一個有效操作。確保操作有效。axis=1 指定我們需要按列應用操作。
示例
在下面的程式碼中,我們首先使用別名匯入了 Pandas 和 NumPy 庫。接下來,我們使用 Pandas 庫的 Data Frame 方法建立了一個名為 df 的資料框。我們沿 axis=1(即按列)對資料框應用了求和操作。這裡第一行、第二行和第三行的值為 1、2、3;因此,我們得到第一列的結果 1+2+3 = 6,依此類推。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['A', 'B', 'C'])
column_sum = df.sum(axis=1)
print(column_sum)
輸出
0 6 1 15 2 24 dtype: int64
同時使用兩種操作
也可以依次使用這兩種操作。透過這種方式,我們可以訪問任何元素並虛擬遍歷整個資料框。例如,如果我們首先使用 axis=0,我們可以遍歷所有行,然後透過使用 axis=1,我們可以遍歷行內的列。
示例
在下面的程式碼中,我們使用 Data Frame Pandas 方法建立了一個名為 df 的資料框。接下來,我們使用 max 方法和 axis=1 對列應用最大值操作;之後,我們使用 sum 方法和 axis=0 對每一行的行應用求和操作。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
row_max = df.max(axis=1)
print("Maximum value in each row:")
print(row_max)
total_max = row_max.sum(axis=0)
print("Sum of maximum values:")
print(total_max)
輸出
Maximum value in each row: 0 3 1 6 2 9 dtype: int64 Sum of maximum values: 18
結論
在本文中,我們學習瞭如何在 Pandas 中使用 axis=0 和 axis=1。當處理 Pandas 資料框中的行或列時,此概念特別有用。我們建議讀者嘗試在更多資料集上進行分佈,以便對該主題有更多信心。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP