当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。