同時在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中文網其他相關文章!