用法:
DataFrame.assign(**kwargs)
将新列分配给 DataFrame。
返回一个包含所有原始列以及新列的新对象。重新分配的现有列将被覆盖。
- **kwargs:{str:callable 或 Series} 的字典
列名是关键字。如果这些值是可调用的,则在 DataFrame 上计算它们并分配给新列。可调用对象不能更改输入 DataFrame(尽管 pandas 不会检查它)。如果这些值不可调用(例如,系列、标量或数组),则只需对其进行赋值。
- DataFrame
除了所有现有列之外,还包含新列的新 DataFrame。
参数:
返回:
注意:
可以在同一个
assign
中分配多个列。 '**kwargs' 中的后续项目可能会引用 ‘df’ 中新创建或修改的列;项目按顺序计算并分配到‘df’。例子:
>>> df = pd.DataFrame({'temp_c':[17.0, 25.0]}, ... index=['Portland', 'Berkeley']) >>> df temp_c Portland 17.0 Berkeley 25.0
其中值是可调用的,在
df
上评估:>>> df.assign(temp_f=lambda x:x.temp_c * 9 / 5 + 32) temp_c temp_f Portland 17.0 62.6 Berkeley 25.0 77.0
或者,可以通过直接引用现有的系列或序列来实现相同的行为:
>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32) temp_c temp_f Portland 17.0 62.6 Berkeley 25.0 77.0
您可以在同一分配中创建多个列,其中一列依赖于同一分配中定义的另一列:
>>> df.assign(temp_f=lambda x:x['temp_c'] * 9 / 5 + 32, ... temp_k=lambda x:(x['temp_f'] + 459.67) * 5 / 9) temp_c temp_f temp_k Portland 17.0 62.6 290.15 Berkeley 25.0 77.0 298.15
相关用法
- Python pandas.DataFrame.asfreq用法及代码示例
- Python pandas.DataFrame.asof用法及代码示例
- Python pandas.DataFrame.astype用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.add_prefix用法及代码示例
- Python pandas.DataFrame.add用法及代码示例
- Python pandas.DataFrame.all用法及代码示例
- Python pandas.DataFrame.at_time用法及代码示例
- Python pandas.DataFrame.append用法及代码示例
- Python pandas.DataFrame.at用法及代码示例
- Python pandas.DataFrame.agg用法及代码示例
- Python pandas.DataFrame.add_suffix用法及代码示例
- Python pandas.DataFrame.applymap用法及代码示例
- Python pandas.DataFrame.aggregate用法及代码示例
- Python pandas.DataFrame.axes用法及代码示例
- Python pandas.DataFrame.abs用法及代码示例
- Python pandas.DataFrame.any用法及代码示例
- Python pandas.DataFrame.align用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.assign。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。