如何同时向 Pandas DataFrame 添加多个列?

Susan Sarandon
发布: 2024-10-25 08:29:02
原创
707 人浏览过

How to Add Multiple Columns to a Pandas DataFrame Simultaneously?

同时向 Pandas Dataframe 添加多个列:分步指南

在数据分析的过程中,通常有必要使用额外的列来扩充现有的 Pandas 数据框。为了简化此过程,我们寻求一种简化的方法来一次添加多个列。

最初的误解:为多个列分配值

直觉上,人们可能会期望以下内容完成任务的语法:

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]</code>
登录后复制

但是,由于 Pandas 对列列表赋值右侧的要求 (df[[new1, new2]] = .. .) 成为一个 DataFrame。

工作解决方案:分配多个列

我们毫不畏惧,通过各种技术来实现我们的目标:

1.用于同时分配的迭代器解包

<code class="python">df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3</code>
登录后复制

2.使用 DataFrame() 扩展单行

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)</code>
登录后复制

3.与临时 DataFrame 连接

<code class="python">df = pd.concat([ df, pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['column_new_1', 'column_new_2', 'column_new_3']) ], axis=1)</code>
登录后复制

4.使用临时 DataFrame

<code class="python">df = df.join(pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['column_new_1', 'column_new_2', 'column_new_3']))</code>
登录后复制

5.基于字典的临时 DataFrame

<code class="python">df = df.join(pd.DataFrame({'column_new_1': np.nan, 'column_new_2': 'dogs', 'column_new_3': 3}, index=df.index))</code>
登录后复制

6. .assign() 用于多列参数 (Python 3.6 )

<code class="python">df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)</code>
登录后复制

7.创建列,分别赋值

<code class="python">df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3</code>
登录后复制
登录后复制

8.单独的作业

虽然它缺乏其他解决方案的优雅,但这种方法仍然很简单:

<code class="python">df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3</code>
登录后复制
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!