2017-02-14 2 views
0

Теперь я обрабатываю свои данные.Как отбросить строку?

Я получил проблемы, когда я с помощью панд

Вот код.

import pandas as pd 
import numpy as np 
import os 

join_file2 = r'D:\raw data\서울시 공공데이터\5.16년7월분\17.상권-추정매출\tbsm_trdar_selng.txt\tbsm_trdar_selng_utf8.txt' 
os.chdir(os.path.dirname(join_file2)) 
join_data2 = pd.read_csv(os.path.basename(join_file2),sep='|', 
       header=None , 
       usecols=[0,1,2,3,4,11], 
       names=['STDR_YM_CD', 'TRDAR_CD', 'TRDAR_CD_NM', 'SVC_INDUTY_CD','SVC_INDUTY_CD_NM','THSMON_SELNG_AMT'], 
       dtype = { '0' : int}, 
       encoding='utf-8') 

join_data2_d = join_data2[(join_data2.SVC_INDUTY_CD != 'CS000000') | (join_data2.SVC_INDUTY_CD != 'CS100000') | (join_data2.SVC_INDUTY_CD != 'CS200000')| (join_data2.SVC_INDUTY_CD != 'CS300000') ] 

При печати join_data2.head(), я получил эти данные enter image description here

и печать join_data2_d, я получил это, не уронить строки. enter image description here

Как это исправить? Вот моя ссылка для передачи данных. http://blogattach.naver.com/f96ce5504c7273c4e30c6a5e6581fe8323768bd1/20170214_57_blogfile/khm2963_1487051333659_hYIWuM_zip/tbsm_trdar_selng_utf8.zip?type=attachment

+0

Я думаю, что вы используете OR и вы хотите и. – Peaceful

ответ

1

Похоже, вы пытаетесь отфильтровать строки, у которых SVC_INDUTY_CD не равны нескольким значениям. Вы должны использовать метод isin и отменить его с помощью унарного оператора ~

join_data2_d = join_data2[~join_data2.SVC_INDUTY_CD.isin(['CS000000', 
                  'CS100000', 
                  'CS200000', 
                  'CS300000'])] 
+0

Спасибо ~~ действительно здорово !! Ты отличный парень !! Удачного дня! –

Смежные вопросы