2014-06-06 4 views
0

이 코드는 'A'에서 중복 드롭 표시 란에 표시되는 경우 열 'B'에서 값을 삭제하지만, 그대로 잎 'B':파이썬 팬더는 그 값이 'A'

df1.drop_duplicates(['A', 'B'], inplace=True) 

편집 : 실제로 그 아무것도 버리지 마 ... 여기 무슨 일 이니?

코드 (아래 삶은) :

import pandas 
df1 = pandas.DataFrame({'A':[1,4,0,8,3,4,5,3,3,3,9,9], 
         'B':[5,5,7,4,2,0,0,0,0,0,0,0]}) 
print(df1) 
df1.drop_duplicates(['A', 'B'], inplace=True) 
print(df1) 

출력 :

7 3 0 
8 3 0* 
9 3 0* 
10 9 0 
11 9 0* 

그러나 I : 나는 그것을이 * 표 행이 삭제 된 이후 위에서 무슨 일이 일어나고 있는지 볼 생각

$ python test.py 
    A B 
0 1 5 
1 4 5 
2 0 7 
3 8 4 
4 3 2 
5 4 0 
6 5 0 
7 3 0 
8 3 0 
9 3 0 
10 9 0 
11 9 0 

[12 rows x 2 columns] 
    A B 
0 1 5 
1 4 5 
2 0 7 
3 8 4 
4 3 2 
5 4 0 
6 5 0 
7 3 0 
10 9 0 
[9 rows x 2 columns] 

'B'에서 중복을 제거하는 방법 (또는 'B'에서 고유 한 값을 반환하는 방법)을 여전히 볼 수 없습니다. 두 개의 열은 실제로 개별 CSV 파일에서 가져옵니다. 단일 DataFrame에 이들을 결합하지 않아야합니까? 중복되지 않도록 비교하고 삭제하는 방법이 있습니까?

편집

:

A B 
0 1 5* 
1 4* 5* 
2 0* 7+ 
3 8 4* 
4 3* 2+ 
5 4* 0* 
6 5* 0* 
7 3* 0* 
10 9 0* 
[9 rows x 2 columns] 
+1

실제로 중복 된 항목이 있습니까? – Ffisegydd

+0

자세한 내용을 제공해 주시겠습니까? 문제 해결에 필요한 세부 사항을 알려줌으로써 우리를 도울 수 있도록 도와주십시오. – Ffisegydd

+0

'GridExport.csv'의 기존 목록과 'new.csv'의 새 레코드 목록이 있습니다. 나는 'new.csv'에서 유일한 레코드를 얻고 싶습니다. – user3478193

답변

0

이 작동 :

import pandas 

df1 = pandas.DataFrame({'A':[1,4,0,8,3,4,5,3,3,3,9,9], 
         'B':[5,5,7,4,2,0,0,0,0,0,0,0]}) 
print(df1) 
cln = df1.unstack().drop_duplicates() 
cln.drop(['A'], inplace=True) 
print(cln) 
cln = cln.reset_index(drop=True) 
print(cln) 

출력 이것은 내가 (* 표 값 삭제, 또는 플러스 표시 값을 반환 할)을 찾고 있어요 출력입니다 :

$ python test.py 
    A B 
0 1 5 
1 4 5 
2 0 7 
3 8 4 
4 3 2 
5 4 0 
6 5 0 
7 3 0 
8 3 0 
9 3 0 
10 9 0 
11 9 0 

[12 rows x 2 columns] 
B 2 7 
    4 2 
dtype: int64 
0 7 
1 2 
dtype: int64