首頁 >後端開發 >Python教學 >如何同時為 Pandas DataFrame 新增多個列?

如何同時為 Pandas DataFrame 新增多個列?

Susan Sarandon
Susan Sarandon原創
2024-10-25 08:29:02792瀏覽

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>
5.基於字典的臨時DataFrame

FrameFrame

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

6. .assign() 用於多列參數(Python 3.6 )

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

7.建立列,分別賦值

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