index 屬性可以指定 DataFrame 結構中的索引數組, columns 屬性可以指定包含列名稱的行,
而使用 name 屬性,通過對一個 DataFrame 執行個體進行 df 設定( df.index.name 和 df.columns.name)就可以為 DataFrame 結構指定行索引标簽和列索引标簽。
例如,對産品價格表指定行索引标簽和列索引标簽,其示例代碼如下:
為 DataFrame 執行個體添加一列元素的方法就是指定 DataFrame 執行個體新列的名稱,并為其指派即可。例如,為産品價格增加一個折扣率列,其示例代碼如下:
或者用 insert() 函數在指定位置添加一列元素。例如,在折扣率列後面,添加一列價格(“price”)乘以折扣率(“discount”)的實際價格(“Actual_price”)列,其示例代碼如下:
為 DataFrame 執行個體添加一行元素的方法就是使用 loc 屬性為 DataFrame 執行個體新添加一行,并為此行指派即可。例如,為産品價格增加一個手機産品的價格行,其示例代碼如下:
修改 DataFrame 對象中的一行元素,隻需要使用 loc 屬性指定 DataFrame 執行個體中行索引,并為此行指派即可。例如,修改産品價格中電腦一行的資料,其示例代碼如下:
修改 DataFrame 執行個體中的一列元素,隻要指定 DataFrame 執行個體中列名稱,将要更新的一列元素存放到數組中,然後将此數組指派給這一列即可。
例如,修改産品價格中的價格為新價格 [3000,2300,560,5600],其示例代碼如下:
修改一個元素,隻需要選擇該元素,直接給其指派即可。例如 df['discount'][1]=0.96。
如果要删除一整列的所有資料,使用 del 指令。例如,删除産品價格中的實際價格列,其示例代碼如下:
pop() 函數可以将所選列從原資料塊中删除,原資料塊不再保留該列。例如,使用 pop() 函數删除折扣率列,其示例代碼如下:
在 drop() 函數中有兩個參數,一個參數是 axis,當參數 axis=1 時,則删除列元素;當 axis=0 時,則删除行元素。還有一個參數是 inplace,當 inplace 為 True 時,drop() 函數執行内部删除,不傳回任何值,原資料發生改變;當 inplace 為 False 時,原資料不會發生改變,隻是輸出新變量删除。
例如,先添加 1 列折扣率列,然後再用 drop() 函數設定參數 axis=1 和 inplace=True 删除折扣率的列元素,其示例代碼如下:
如果要删除一行,則設定 axis=0,并指定删除的行索引或行标簽。例如,删除行标簽為 add_row 的一行元素,其示例代碼如下:
如果要删除多行,除了設定 axis=0 外,還要指定删除的行索引或行标簽,例如,删除第 1 行和第 3 行元素,其示例代碼如下:
對于 DataFrame 對象,也可以通過指定條件來篩選元素。例如,篩選出産品價格中價格大于 2000 元的産品資訊,其示例代碼如下:
例如,篩選出産品價格中所有元素都小于 2000 元的産品資訊,其示例代碼如下:
傳回的 DataFrame 對象中隻包含滿足條件的數字,各元素的位置保持不變,其他不符合條件的元素替換成 NaN。
使用 isin() 函數可以判斷給定的一列元素是否包含在 DataFrame 結構中,如果給定的元素包含在資料結構中,isin() 函數傳回是 True,否則傳回是 False。利用此函數可以篩選 DataFrame 列中的資料。
例如判斷産品價格中是否存在“電腦”和 2300 這兩個元素,并傳回滿足條件的元素,其示例代碼如下:
DataFrame 資料結構類似于表格資料結構,在處理表格資料時,常常會用到轉置操作,即将列變成行,行變成列。pandas 提供了一種簡單的轉置方法,就是通過調用T屬性獲得 DataFrame 對象的轉置形式。
例如将産品價格資料結構進行轉置操作,其示例代碼如下: