怎么放下这排?

时间:2017-02-14 05:40:17

标签: pandas

我正在处理我的数据。

使用pandas时遇到问题

这是代码。

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

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试过滤掉SVC_INDUTY_CD不等于多个值的行。您应该使用isin方法并使用一元运算符~

将其反转
join_data2_d = join_data2[~join_data2.SVC_INDUTY_CD.isin(['CS000000',
                                                          'CS100000',
                                                          'CS200000',
                                                          'CS300000'])]