溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas如何添加新列

發布時間:2022-06-13 11:46:08 來源:億速云 閱讀:437 作者:zzz 欄目:開發技術

pandas如何添加新列

在數據處理和分析中,pandas 是一個非常強大的 Python 庫。它提供了豐富的數據結構和函數,使得數據的操作變得簡單而高效。在實際應用中,我們經常需要向現有的 DataFrame 中添加新的列。本文將詳細介紹如何使用 pandas 添加新列,并探討幾種常見的方法。

1. 直接賦值法

最直接的方法是使用賦值操作符 = 來添加新列。假設我們有一個 DataFrame df,我們可以通過以下方式添加新列:

import pandas as pd

# 創建一個示例 DataFrame
data = {
    'A': [1, 2, 3],
    'B': [4, 5, 6]
}
df = pd.DataFrame(data)

# 添加新列 'C'
df['C'] = [7, 8, 9]

print(df)

輸出結果:

   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

在這個例子中,我們通過 df['C'] = [7, 8, 9] 直接為 DataFrame 添加了一個新列 C。

2. 使用 assign 方法

pandas 提供了 assign 方法,可以方便地添加新列。assign 方法返回一個新的 DataFrame,原始 DataFrame 不會被修改。

# 使用 assign 方法添加新列
df_new = df.assign(D=[10, 11, 12])

print(df_new)

輸出結果:

   A  B  C   D
0  1  4  7  10
1  2  5  8  11
2  3  6  9  12

在這個例子中,我們使用 assign 方法添加了一個新列 D,并將結果賦值給 df_new。

3. 使用 insert 方法

insert 方法允許我們在指定的位置插入新列。這個方法會直接修改原始 DataFrame。

# 使用 insert 方法在指定位置插入新列
df.insert(1, 'E', [13, 14, 15])

print(df)

輸出結果:

   A   E  B  C
0  1  13  4  7
1  2  14  5  8
2  3  15  6  9

在這個例子中,我們在第 1 列的位置插入了一個新列 E。

4. 基于現有列的計算

有時候,我們需要基于現有列的值來計算新列的值。例如,我們可以通過以下方式添加一個新列 F,其值為列 A 和列 B 的和:

# 基于現有列的計算添加新列
df['F'] = df['A'] + df['B']

print(df)

輸出結果:

   A   E  B  C   F
0  1  13  4  7   5
1  2  14  5  8   7
2  3  15  6  9   9

在這個例子中,我們通過 df['A'] + df['B'] 計算了新列 F 的值。

5. 使用 apply 方法

apply 方法可以用于對 DataFrame 的每一行或每一列應用一個函數,從而生成新列。例如,我們可以使用 apply 方法添加一個新列 G,其值為列 A 的平方:

# 使用 apply 方法添加新列
df['G'] = df['A'].apply(lambda x: x ** 2)

print(df)

輸出結果:

   A   E  B  C   F   G
0  1  13  4  7   5   1
1  2  14  5  8   7   4
2  3  15  6  9   9   9

在這個例子中,我們使用 apply 方法對列 A 的每個元素進行平方運算,并將結果賦值給新列 G。

6. 使用 concat 方法

concat 方法可以用于將多個 DataFrame 或 Series 沿指定軸連接起來。我們可以使用 concat 方法將一個 Series 作為新列添加到 DataFrame 中。

# 創建一個 Series
new_column = pd.Series([16, 17, 18], name='H')

# 使用 concat 方法添加新列
df = pd.concat([df, new_column], axis=1)

print(df)

輸出結果:

   A   E  B  C   F   G   H
0  1  13  4  7   5   1  16
1  2  14  5  8   7   4  17
2  3  15  6  9   9   9  18

在這個例子中,我們使用 concat 方法將一個 Series new_column 作為新列 H 添加到 DataFrame df 中。

7. 使用 merge 方法

merge 方法可以用于根據一個或多個鍵將兩個 DataFrame 合并。我們可以使用 merge 方法將一個 DataFrame 作為新列添加到另一個 DataFrame 中。

# 創建另一個 DataFrame
data2 = {
    'A': [1, 2, 3],
    'I': [19, 20, 21]
}
df2 = pd.DataFrame(data2)

# 使用 merge 方法添加新列
df = df.merge(df2, on='A')

print(df)

輸出結果:

   A   E  B  C   F   G   H   I
0  1  13  4  7   5   1  16  19
1  2  14  5  8   7   4  17  20
2  3  15  6  9   9   9  18  21

在這個例子中,我們使用 merge 方法將 df2 作為新列 I 添加到 df 中。

總結

本文介紹了多種在 pandas 中添加新列的方法,包括直接賦值法、assign 方法、insert 方法、基于現有列的計算、apply 方法、concat 方法和 merge 方法。每種方法都有其適用的場景,選擇合適的方法可以大大提高數據處理的效率。希望本文能幫助讀者更好地理解和使用 pandas 添加新列的功能。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女