首頁 >後端開發 >Python教學 >如何正確選擇 Pandas DataFrame 中的欄位?

如何正確選擇 Pandas DataFrame 中的欄位?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 13:26:24994瀏覽

How to Correctly Select Columns in Pandas DataFrames?

Pandas DataFrame 中的欄位選擇:故障排除指南

使用 Pandas 資料幀時,選擇特定欄位是一項基本任務。但是,嘗試使用df['a':'b'] 或df.ix[:, 'a':'b'] 等語法來完成此操作可能會遇到障礙,因為無法將列名稱切片為字串。

選項1:明確列選擇

要按名稱選擇特定列,解決方案在於傳遞列名稱列表到__getitem__ 語法:

df1 = df[['a', 'b']]

此方法僅建立所需列的視圖。

選項2:數字列選擇

如果首選以數字方式索引列, iloc 函數可以使用:

df1 = df.iloc[:, 0:2]

請注意, Python 索引不包括結尾索引。

複製與視圖

理解 a 和 a 之間的區別很重要視圖和 Pandas 物件的副本。預設情況下,第一個方法建立一個副本,而第二個方法傳回一個引用與原始物件相同的記憶體位置的視圖。要使用第二種方法取得副本,請使用.copy() 方法:

df1 = df.iloc[0, 0:2].copy()

利用列索引

要使用iloc 按名稱存取列,可以使用get_loc 函數取得列索引:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
df1 = df.iloc[:, [column_indices['a'], column_indices['b']]]

以上是如何正確選擇 Pandas DataFrame 中的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn