首頁 >後端開發 >Python教學 >如何有效地選擇 Pandas DataFrame 中的多個欄位?

如何有效地選擇 Pandas DataFrame 中的多個欄位?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-08 21:19:151026瀏覽

How Do I Efficiently Select Multiple Columns in a Pandas DataFrame?

在Pandas Dataframe 中選擇多個欄位

在Python 的Pandas 函式庫中,從Dataframe 中選擇特定欄位是一種常見的操作。但是,嘗試以某些方式執行此操作可能會遇到錯誤。

不成功的嘗試:

使用df['a':'b'] 或df 等切片表示法.ix[:, 'a':' b'] 選擇'a' 和'b' 之間的列失敗,因為列名是字串,不能以這種方式進行切片。

成功選項:

使用欄位名稱:

選擇特定使用其名稱的列,在方塊中提供所需列名稱的列表括號:

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

使用列索引:

如果必須透過索引(而不是名稱)選擇列,請使用iloc:

df1 = df.iloc[:, 0:2]  # Note: Python slicing is exclusive of the ending index.

注意事項:

查看與複製:

上述方法傳回以下視圖所需的列,而不是副本。若要在記憶體中建立新副本,請使用.copy() 方法:

df1 = df.iloc[0, 0:2].copy()  # Ensures modifications to df1 do not alter df

使用列索引和get_loc:

使用特定列的索引,使用columns 方法的get_loc函數:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}

這將傳回一個字典,其中鍵是列索引和值是列名稱。然後,您可以將這些索引與 iloc 一起使用來選擇所需的欄位。

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

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