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