dataframe reindex和reset_index區別
reset_index的作用是重新設定dataframe的index,範圍為0~len(df)。
df = pd.dataframe()
df2 = pd.dataframe()
print 'df\n', df
print 'df2\n', df2
df_x = [df, df2]
result = pd.concat(df_x)
print 'first result\n', result
上面**把df和df2合併為乙個result,但是result的index是亂的。
那麼執行
result2= result.reset_index()
得到如下的result2: (預設只是返回乙個copy,原來的result沒有發生改變,所以需要副本賦值給result2)
可以看到,原來的一列index現在變成了columns之一,新的index為[0,1,2,3,4,5]
如果新增引數 reset_index(drop=true) 那麼原index會被丟棄,不會顯示為乙個新列。
result2 = result.reset_index(drop=true)
reindex的作用是按照原有的列進行重新生成乙個新的df。
還是使用上面的**
result目前是df和df2的合併序列。
如下:可以看到index為[0,1,2,3,4,0]
執行result3 = result.reindex(columns=['a','c'])
可以看到,原index並沒有發生改變,而列變成了a和c,因為c是不存在的,所以使用了nab填充,這個值的內容可以自己填充,可以改為預設填充0或者任意你想要的資料。reindex(columns=..)的作用類似於重新把列的順序整理一遍, 而使用reindex(index=....) 則按照行重新整理一遍。
7、dataframe資料的更改、插入新增的列和行的方法
一、更改dataframe的某些值
1、更改dataframe中的資料,原理是將這部分資料提取出來,重新賦值為新的資料。
2、需要注意的是,資料更改直接針對dataframe原資料更改,操作無法撤銷,如果做出更改,需要對更改條件做確認或對資料進行備份。
**:結果圖:
二、插入新增列、行
**:結果圖:
pandas刪除某一列的方法
方法一 直接del df column name 刪除sub grade 列,輸入del df sub grade x 方法二 採用drop方法,有下面三種等價的表示式 1.df df.drop column name 1 輸入 df,drop num axix 1 不改變記憶體,及輸入df的時候,...
pandas對某一列資料進行處理
今天遇到乙個問題,小記錄一下處理過程,現在要將乙個pandas變數的某個字段進行轉換。定義處理方法,至少要有乙個入參,然後有返回內容 此處示例是通過判斷乙個字串裡面是否含有某個字,然後轉換為1或0 def processmethod d str int print d if d.find somet...
利用pandas刪除某一行或一列
一 準備測試資料 1 用pandas讀取excel表的數資料 coding utf 8 import pandas as pd file data.xlsx data pd.read excel file,index true 2 輸出結果 in 15 print data ab cd056 781...