當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame assign方法用法及代碼示例


Pandas DataFrame.assign(~) 方法將新列附加到 DataFrame。

參數

1.kwargs | key:labelvalue:function or array-like

該鍵用作新的列標簽。

值類型

說明

function

該函數接受源 DataFrame 作為唯一參數,並返回一個 Series。

array-like

保存要追加的列的值的標量、係列或數組。

我們一次可以追加的列數沒有限製。

注意

您可以引用在同一調用中附加的先前列。檢查下麵的示例以進行說明。

返回值

附加了新列的新DataFrame

例子

考慮以下 DataFrame :

df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df



   A  B
0  3  5
1  4  6

使用函數

要附加新列 C ,它是列 AB 的總和:

df.assign(C=lambda my_df: my_df["A"] + my_df["B"])



   A  B  C
0  3  5  8
1  4  6  10

使用標量

要附加一個值為單個常量的新列:

df.assign(C=20)



   A  B  C
0  3  5  20
1  4  6  20

為了供您參考,我們再次在此處顯示相同的df

df



   A  B
0  3  5
1  4  6

使用數組

要使用數組附加新列:

df.assign(C=[7,8])



   A  B  C
0  3  5  7
1  4  6  8

添加多列

要在one-go中添加多個列:

df.assign(C=lambda p_df: p_df["A"] + p_df["B"], D=lambda p_df: p_df["C"] + 5)



   A  B  C   D
0  3  5  8   13
1  4  6  10  15

請注意如何使用列 C 構造列 D ,該列也出現在函數調用中。

覆蓋現有列

考慮與之前相同的DataFrame:

df



   A  B
0  3  5
1  4  6

如果您要附加的列的標簽與現有列的標簽衝突,則會發生覆蓋:

df.assign(A=[8,9])



   A  B
0  8  5
1  9  6

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | assign method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。