如何在 Python 中使用 cbind?


Python 是一種用途廣泛的程式語言,它為程式設計師提供了各種模組和庫來執行所需的任務。“cbind” 就是 Python 提供的一個強大的函式。它代表列繫結。“cbind” 是一種強大的工具,允許程式設計師在 Python 中按列組合、合併和分組陣列、資料幀等。在本文中,我們將學習如何在 Python 中使用“cbind”。

使用 zip 和列表推導式

Zip 和列表推導式是 Python 中許多表達式中使用的兩種非常流行的技術。zip 函式可以幫助組合來自不同可迭代物件的多個元素。另一方面,列表推導式是一種透過在一行中組合多個表示式、迴圈等來生成列表元素的技術。

語法

zip(iterable1, iterable2, other iterables……….)

zip 函式接受多個可迭代元素。這裡 iterable1、iterable2、iterable3 等都是可迭代物件,例如列表等。zip 方法將返回一個包含所有組合元素的元組。可迭代物件不需要具有相同的維度。此外,可迭代物件可以是多種資料型別。

示例

在下面的示例中,我們建立了三列,分別命名為列 1、列 2 和列 3。接下來,我們使用列表推導式和 zip 方法生成一個列表。我們使用 zip 方法組合所有三個列表,並將元素追加到列表中。

column1 = [1, 2, 3]
column2 = [4, 5, 6]
column3 = [7, 8, 9]
combined = [list(t) for t in zip(column1, column2, column3)]
for row in combined:
    print(row)

輸出

[1, 4, 7]
[2, 5, 8]
[3, 6, 9]

使用 numpy.concatenate() 方法

concatenate,顧名思義,有助於沿特定軸(行或列)連線陣列。連線陣列後,我們可以從結果中切片所需的元素。

示例

在下面的程式碼中,我們首先匯入了 Numpy 庫。我們建立了三個名為列 1、列 2 和列 3 的陣列。我們使用 Numpy 的 concatenate 方法連線這些陣列,並將結果儲存在一個名為 combined 的變數中。接下來,我們遍歷變數 combined 並列印行。

import numpy as np
column1 = np.array([1, 2, 3])
column2 = np.array([4, 5, 6])
column3 = np.array([7, 8, 9])
combined = np.concatenate((column1[:, np.newaxis], column2[:, np.newaxis], column3[:, np.newaxis]), axis=1)
for row in combined:
    print(row)

輸出

[1 4 7]
[2 5 8]
[3 6 9]

使用 zip 和 * 運算子

如前所述,zip 方法有助於組合多個可迭代元素。另一方面,"*" 運算子是解包運算子,它有助於將可迭代元素解包成單獨的值或引數。它可以用於許多上下文,例如函式呼叫、列表建立、變數賦值等。

示例

column1 = [1, 2, 3]
column2 = [4, 5, 6]
column3 = [7, 8, 9]
combined = [*zip(column1, column2, column3)]
for row in combined:
    print(row)

輸出

(1, 4, 7)
(2, 5, 8)
(3, 6, 9)

使用 NumPy 的 cbind

NumPy 是 Python 中用於處理數值計算的流行庫。它提供了一種簡單的內建方法來執行“cbind”操作。

語法

result = np.c_[array1, array2, array3,......]

這裡 array1、array2、array3 等是我們需要執行“cbind”操作的陣列。我們可以使用 NumPy 上的單個或多個數組以及 c_ 方法。所有陣列都應該具有相同的維度。否則,NumPy 將丟擲錯誤。

示例

在下面的示例中,我們匯入了 NumPy 陣列並使用別名給它賦予了別名 np。接下來,我們使用 Numpy 的 array 方法建立了 array1 和 array2。接下來,我們對這兩個陣列執行了“cbind”操作並列印了結果。

該程式碼使用 c_ 方法執行列連線。雖然沒有提到“cbind”,但該函式的功能與 R 等其他程式語言中的“cbind”完全相同。

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
result = np.c_[array1, array2]
print(result)

輸出

[[1 4]
 [2 5]
 [3 6]]

使用 pandas 的 cbind

Pandas 是 Python 中一個強大的資料分析工具。Panda 有一個名為 concat 的內建函式來執行連線。我們只需要將一個名為 axis 的附加引數傳遞給函式即可按列執行操作。這與 R 等其他程式語言中的“cbind”具有相同的功能。

語法

result = pd.concat([df1, df2, df3, ….. ], axis=<1 or 0>)

示例

import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3]})
df2 = pd.DataFrame({'B': [4, 5, 6]})
result = pd.concat([df1, df2], axis=1)
print(result)

輸出

   A  B
0  1  4
1  2  5
2  3  6

結論

在本文中,我們瞭解瞭如何藉助庫中提供的函式在 Python 中執行“cbind”操作。NumPy 具有 c_ 方法,允許列連線。類似地,Pandas 具有 concat 方法來執行連線,我們可以使用它來執行“cbind”。

更新於: 2023-07-28

433 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告