溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

發(fā)布時間:2020-10-05 21:33:45 來源:腳本之家 閱讀:175 作者:destiny_python 欄目:開發(fā)技術

還是用圖說話

A文件:

pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

比如,我想篩選出“設計井別”、“投產(chǎn)井別”、“目前井別”三列數(shù)據(jù)都為11的數(shù)據(jù),結果如下:

pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

當然,這里的篩選條件可以根據(jù)用戶需要自由調(diào)整,代碼如下:

# -*- 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'是因為文件中存在中文,不加可能出現(xiàn)亂碼
#這里的篩選條件可以根據(jù)用戶需要進行修改
outfile = df1[(df1[u'設計井別']=='11') & (df1[u'投產(chǎn)井別']=='11') &(df1[u'目前井別']=='11')]
outfile.to_csv('outfile.csv', index=False, encoding='gbk')

有時我們也會有相反的一個需求,需要刪除“設計井別”、“投產(chǎn)井別”、“目前井別”三列數(shù)據(jù)都為11的那些行,效果如下:

pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

代碼如下:

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

以上這篇pandas按若干個列的組合條件篩選數(shù)據(jù)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI