모든 열에 대해 일치해야합니다주어진 열 내의 모든 행은 주어진 열 내의 모든 행이 일치해야하는 나는 데이터의 팬더 DataFrame이
df = pd.DataFrame({'A': [1,1,1,1,1,1,1,1,1,1],
'B': [2,2,2,2,2,2,2,2,2,2],
'C': [3,3,3,3,3,3,3,3,3,3],
'D': [4,4,4,4,4,4,4,4,4,4],
'E': [5,5,5,5,5,5,5,5,5,5]})
In [10]: df
Out[10]:
A B C D E
0 1 2 3 4 5
1 1 2 3 4 5
2 1 2 3 4 5
...
6 1 2 3 4 5
7 1 2 3 4 5
8 1 2 3 4 5
9 1 2 3 4 5
내가 알고있는 빠른 방법을 싶습니다있다 DataFrame 어디에서나 차이가 있습니다. 이 시점에서 나는 나중에 값을 처리 할 것이므로 어떤 값이 다양했는지 알 필요가 없습니다. DataFrame이 더 많은 관심을 필요로하는지, 아니면 무시하고 다음 단계로 넘어갈 수 있는지 알기 위해서는 빠른 방법이 필요합니다.
나는
(df.loc[:,'A'] != df.loc[0,'A']).any()
를 사용하여 특정 열을 확인할 수 있습니다하지만 내 팬더 지식은 (내가 반복 팬더에 눈살을 찌푸리게되는 이해) 모두 비교하기 위해 열을 반복하는 나를 제한 :
A B C D E
0 1 2 3 4 5
1 1 2 9 4 5
2 1 2 3 4 5
...
6 1 2 3 4 5
7 1 2 3 4 5
8 1 2 3 4 5
9 1 2 3 4 5
for col in df.columns:
if (df.loc[:,col] != df.loc[0,col]).any():
print("Found a fail in col %s" % col)
break
Out: Found a fail in col C
을
데이터 프레임의 모든 열에있는 행이 열의 모든 값과 일치하지 않는 경우 부울을 반환하는 우아한 방법이 있습니까? 반복하지 않고도 가능합니까?
지금까지의 모든 접근법은 잘 작동하지만, nunique()를 사용하면 코드 판독기 (나)에게 무슨 일이 일어나고 있는지 알 수 있습니다. –