首页 >后端开发 >Python教程 >如何同时向 Pandas DataFrame 添加多个列?

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

Susan Sarandon
Susan Sarandon原创
2024-10-25 08:29:02786浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn