2016-08-01 3 views
0

키 - 값이있는 데이터 프레임의 행을 삭제하고 싶습니다. 코드가 있지만 작동하지 않습니다. 나는 오류 또는 다른 것을 얻지 않는다. 단순히 행을 지우지 않습니다. 나는 여러 가지 일을 시도했지만 아무런 도움이되지 않았습니다. 대답 해 주실 수 있겠습니까?keyvalue 행을 삭제하는 중 오류가 없습니다.

 FAK_ART FAK_DAT LEIST_DAT  KD_CRM MW_BW  EQ_NR MATERIAL \ 
0   ZPAF 2015-05-18 2015-05-31   TMD  E 1003507107 G230ETS 
1   ZPAF 2015-05-18 2015-05-31   TMD  B 1003507107 G230ETS 
2   ZPAF 2015-05-18 2015-05-31   TMD  E 1003507108 G230ETS 
3   ZPAF 2015-05-18 2015-05-31   TMD  B 1003507108 G230ETS 
4   ZPAF 2015-05-18 2015-05-31   TMD  E 1003507109 G230ETS 
5   ZPAF 2015-05-18 2015-05-31   TMD  P 1003507109 G230ETS 
6   ZPAF 2015-05-18 2015-05-31   TMD  E 1003507110 G230ETS 
7   ZPAF 2015-05-18 2015-05-31   TMD  B 1003507110 G230ETS 
8   ZPAF 2015-05-18 2015-05-31   TMD  E 1003507111 G230ETS 
9   ZPAF 2015-05-18 2015-05-31   TMD  B 1003507111 G230ETS 
10  ZPAF 2015-05-18 2015-05-31   TMD  E 1003507112 G230ETS 
11  ZPAF 2015-05-18 2015-05-31   TMD  B 1003507112 G230ETS 
12  ZPAF 2015-05-18 2015-05-31   TMD  E 1003507113 G230ETS 
13  ZPAF 2015-05-18 2015-05-31   TMD  P 1003507113 G230ETS 
14  ZPAF 2015-05-18 2015-05-31   TMD  E 1003507114 G230ETS 
15  ZPAF 2015-05-18 2015-05-31   TMD  B 1003507114 G230ETS 

내가 MW_BW 키 값 'P'와 행 열에서 삭제할이 목록에서 : 여기

은 목록입니다.

는 내 코드 그게 전부 : 설명은

data_faktura[data_faktura.MW_BW != 'P'] 

: data_faktura 내 dataframe입니다.

무엇이 잘못 되었나요?

도움 주셔서 감사합니다.

data_faktura[data_faktura.MW_BW.str.strip() != 'P'] 

샘플 :

data_faktura = pd.DataFrame({'MW_BW':[' P','E','P'], 
          'B':[4,5,6]}) 

print (data_faktura) 
    B MW_BW 
0 4  P 
1 5  E 
2 6  P 

print (data_faktura[data_faktura.MW_BW != 'P']) 
    B MW_BW 
0 4  P 
1 5  E 

print (data_faktura[data_faktura.MW_BW.str.strip() != 'P']) 
    B MW_BW 
1 5  E 

편집 :

당신 그래서 strip 공백을 시도

:

그것은 당신의 가치 P처럼 보이는
+2

이렇게 하시겠습니까? "data_fakura = data_faktura [data_faktura.MW_BW! = 'P']'''? 반환 된 df를 원래 df에 다시 할당해야합니다. – TrigonaMinima

+0

어떻게 만들 수 있습니까? – Damian

+2

코드 줄을 -'''data_faktura = data_faktura [data_faktura.MW_BW! = 'P']'''로 바꾸십시오. – TrigonaMinima

답변

1

전이나 편지 한 후 약간의 공백이 또한 값 목록을 생성 할 수 있습니다. 생략하지 않음 :

print (df) 
    FAK_ART  FAK_DAT LEIST_DAT KD_CRM MW_BW  EQ_NR MATERIAL 
0  ZPAF 2015-05-18 2015-05-31 TMD  E 1003507107 G230ETS 
1  ZPAF 2015-05-18 2015-05-31 TMD  B 1003507107 G230ETS 
2  ZPAF 2015-05-18 2015-05-31 TMD  E 1003507108 G230ETS 
3  ZPAF 2015-05-18 2015-05-31 TMD  B 1003507108 G230ETS 
4  ZPAF 2015-05-18 2015-05-31 TMD  E 1003507109 G230ETS 
5  ZPAF 2015-05-18 2015-05-31 TMD  P 1003507109 G230ETS 
6  ZPAF 2015-05-18 2015-05-31 TMD  E 1003507110 G230ETS 
7  ZPAF 2015-05-18 2015-05-31 TMD  B 1003507110 G230ETS 
8  ZPAF 2015-05-18 2015-05-31 TMD  E 1003507111 G230ETS 
9  ZPAF 2015-05-18 2015-05-31 TMD  B 1003507111 G230ETS 
10 ZPAF 2015-05-18 2015-05-31 TMD  E 1003507112 G230ETS 
11 ZPAF 2015-05-18 2015-05-31 TMD  B 1003507112 G230ETS 
12 ZPAF 2015-05-18 2015-05-31 TMD  E 1003507113 G230ETS 
13 ZPAF 2015-05-18 2015-05-31 TMD  P 1003507113 G230ETS 
14 ZPAF 2015-05-18 2015-05-31 TMD  E 1003507114 G230ETS 
15 ZPAF 2015-05-18 2015-05-31 TMD  B 1003507114 G230ETS 

print (df.ix[[5,13],'MW_BW'].tolist()) 
['P', 'P'] 
+0

불행하게도 그것은 didnt 일한다. .. 다른 어떤 생각? – Damian

+0

네, 편집을 참조하십시오 - 인덱스가있는 목록을 생성하십시오. 제외 할 값은'P'입니다. – jezrael

+0

미안하지만 편집을 이해하지 못합니다! 설명해 주시겠습니까? – Damian

관련 문제