Pandas DataFrame.assign(~)
方法将新列附加到 DataFrame。
参数
1.kwargs
| key:label
和 value:function or array-like
该键用作新的列标签。
值类型 |
说明 |
---|---|
该函数接受源 DataFrame 作为唯一参数,并返回一个 Series。 | |
保存要追加的列的值的标量、系列或数组。 |
我们一次可以追加的列数没有限制。
注意
您可以引用在同一调用中附加的先前列。检查下面的示例以进行说明。
返回值
附加了新列的新DataFrame
。
例子
考虑以下 DataFrame :
df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df
A B
0 3 5
1 4 6
使用函数
要附加新列 C
,它是列 A
和 B
的总和:
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
相关用法
- Python Pandas DataFrame asfreq方法用法及代码示例
- Python Pandas DataFrame asof方法用法及代码示例
- Python Pandas DataFrame astype方法用法及代码示例
- Python Pandas DataFrame agg方法用法及代码示例
- Python Pandas DataFrame all方法用法及代码示例
- Python Pandas DataFrame add方法用法及代码示例
- Python Pandas DataFrame any方法用法及代码示例
- Python PySpark DataFrame alias方法用法及代码示例
- Python Pandas DataFrame append方法用法及代码示例
- Python Pandas DataFrame add_prefix方法用法及代码示例
- Python Pandas DataFrame add_suffix方法用法及代码示例
- Python Pandas DataFrame at属性用法及代码示例
- Python Pandas DataFrame axes属性用法及代码示例
- Python Pandas DataFrame align方法用法及代码示例
- Python Pandas DataFrame apply方法用法及代码示例
- Python Pandas DataFrame applymap方法用法及代码示例
- Python Pandas DataFrame at_time方法用法及代码示例
- Python Pandas DataFrame abs方法用法及代码示例
- Python Pandas DataFrame empty属性用法及代码示例
- Python Pandas DataFrame pop方法用法及代码示例
- Python Pandas DataFrame nsmallest方法用法及代码示例
- Python Pandas DataFrame sample方法用法及代码示例
- Python Pandas DataFrame items方法用法及代码示例
- Python Pandas DataFrame max方法用法及代码示例
- Python Pandas DataFrame swaplevel方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | assign method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。