pandas DataFrame資料篩選和切片

來源:互聯網
上載者:User

標籤:切片   統一   函數實現   dex   實現   das   lis   快速   list   

DataFrame資料篩選——loc,iloc,ix,at,iat條件式篩選單條件式篩選選取col1列的取值大於n的記錄: data[data[‘col1‘]>n]篩選col1列的取值大於n的記錄,但是顯示col2,col3列的值: data[[‘col2‘,‘col3‘]][data[‘col1‘]>n]選擇特定行:使用isin函數根據特定值篩選記錄。篩選col1值等於list中元素的記錄: data[data.col1.isin(list)]  多條件式篩選可以使用&(並)與| (或)操作符或者特定的函數實現多條件式篩選使用&篩選col1列的取值大於n,col2列的取值大於m的記錄:data[(data[‘col1‘] > n) & (data[‘col2‘] > m)]使用numpy的logical_and函數完成同樣的功能:data[np.logical_and(data[‘col1‘]> n,data[‘col2‘]>m)]  索引篩選切片操作使用切片操作選擇特定的行: data[n:m]傳入列名選擇特定的列: data[[‘col1‘,‘col2‘]] loc函數當每列已有column name時,用 data [‘col1‘] 就能選取出一整列資料。如果你知道column names 和index,可以選擇 .loc同時進行行列選擇: data.loc[index,‘colum_names‘] iloc函數

使用方法同loc函數,但是不再輸入列名,而是輸入列的index: data.iloc[row_index,col_index]

 ix函數ix的功能更加強大,參數既可以是索引,也可以是名稱,相當於,loc和iloc的合體。需要注意的是在使用的時候需要統一,在行選擇時同時出現索引和名稱, 同樣在同行選擇時同時出現索引和名稱: data.ix[n:m,[‘col1‘,‘col2‘]]但是在最新的版本中,ix函數不建議使用  at函數根據指定行index及列label,快速定位DataFrame的元素,選擇列時僅支援列名:data.at[row_index,‘column_names‘]  iat函數與at的功能相同,只使用索引參數:data.iat[row_index,column_index]  

pandas DataFrame資料篩選和切片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.