首页 > 后端开发 > Python教程 > 如何有效地向 Pandas DataFrame 添加新列?

如何有效地向 Pandas DataFrame 添加新列?

Mary-Kate Olsen
发布: 2024-12-14 03:23:10
原创
528 人浏览过

How to Efficiently Add a New Column to a Pandas DataFrame?

如何向现有 DataFrame 添加新列

问题陈述

给定一个带有索引行的 DataFrame,您希望合并一个附加列无需修改现有数据。例如,给定 DataFrame:

<pre class="brush:php;toolbar:false">      a         b         c         d
登录后复制

2 0.671399 0.101208 -0.181532 0.241273
3 0.446172 -0.243316 0.051767 1.577318
5 0.614758 0.075793 -0.451460 -0.012493

添加名为 'e' 的列,其中包含以下值:

<br> 0 -0.335485<br>1 -1.166658<br>2 -0.385571<br>dtype: float64<br></p>

解决方案

编辑2017

最有效的方法,如@Alexander建议并在评论中指出,是使用分配方法:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)
登录后复制

编辑 2015

一些用户报告遇到SettingWithCopyWarning 使用原始代码。但是,该代码在当前的 pandas 版本 0.16.1 中仍然有效。

sLength = len(df1['a'])

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
登录后复制

原始答案

使用 df1 的原始索引创建一个 Series 并分配到新栏:

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
登录后复制

以上是如何有效地向 Pandas DataFrame 添加新列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板