pandas按若干個列的組合條件篩選資料的方法

pandas按若干個列的組合條件篩選資料的方法
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

還是用圖說話

A檔案:

比如,我想篩選出“設計井別”、“投產井別”、“目前井別”三列資料都為11的資料,結果如下:

當然,這裡的篩選條件可以根據使用者需要自由調整,程式碼如下:


# -*- coding: utf-8 -*-
"""
Created on Wed Nov 29 10:46:31 2017
@author: wq
"""
import pandas as pd
#input.csv是那個大檔案,有很多很多行
df1 = pd.read_csv(u'input.csv', encoding='gbk')
#加encoding=‘gbk'是因為檔案中存在中文,不加可能出現亂碼
#這裡的篩選條件可以根據使用者需要進行修改
outfile = df1[(df1[u'設計井別']=='11') & (df1[u'投產井別']=='11') &(df1[u'目前井別']=='11')]
outfile.to_csv('outfile.csv', index=False, encoding='gbk')

有時我們也會有相反的一個需求,需要刪除“設計井別”、“投產井別”、“目前井別”三列資料都為11的那些行,效果如下:

程式碼如下:


#input.csv是那個大檔案,有很多很多行
df1 = pd.read_csv(u'input.csv', encoding='gbk')
df2 = pd.read_csv(u'outfile.csv', encoding='gbk')
#加encoding=‘gbk'是因為檔案中存在中文,不加可能出現亂碼
index = ~df1[u'漢字井號'].isin(df2[u'漢字井號'])
df4 = df1[index]
df4.to_csv('outfile1.csv', index=False, encoding='gbk')

以上這篇pandas按若干個列的組合條件篩選資料的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援指令碼之家。

您可能感興趣的文章:

Python 資料處理庫 pandas進階教程Python 資料處理庫 pandas 入門教程基本操作pandas系列之DataFrame 行列資料篩選例項pandas資料處理基礎之篩選指定行或者指定列的資料

相關文章

程式語言 最新文章