반응형
팬더 데이터 프레임 인덱스에 값이 있는지 확인하십시오.
나는 이것을 할 수있는 확실한 방법이 있다고 확신하지만 지금은 매끄러운 것을 생각할 수 없습니다.
기본적으로 대신 예외를 발생의 나는 좀하고 싶습니다 True
또는 False
값이 팬더에 존재하는지 df
인덱스입니다.
import pandas as pd
df = pd.DataFrame({'test':[1,2,3,4]}, index=['a','b','c','d'])
df.loc['g'] # (should give False)
내가 지금 일하고있는 것은 다음과 같습니다
sum(df.index == 'g')
이 트릭을해야합니다
'g' in df.index
내가 찾던 것으로 참조하기 위해 ".values"메소드를 추가하여 값 또는 색인 내 존재 여부를 테스트 할 수 있습니다.
g in df.<your selected field>.values
g in df.index.values
간단한 목록을 얻거나 ndarray를 얻기 위해 ".values"를 추가하면 다른 파이썬 도구와 함께 "in"검사가 더 원활하게 실행됩니다. 그냥 사람들을 위해 그것을 던질 것이라고 생각했습니다.
다중 인덱스는 단일 인덱스와 약간 다르게 작동합니다. 다중 인덱스 데이터 프레임에 대한 몇 가지 방법이 있습니다.
df = pd.DataFrame({'col1': ['a', 'b','c', 'd'], 'col2': ['X','X','Y', 'Y'], 'col3': [1, 2, 3, 4]}, columns=['col1', 'col2', 'col3'])
df = df.set_index(['col1', 'col2'])
in df.index
단일 인덱스 값을 확인할 때만 첫 번째 수준에서 작동합니다.
'a' in df.index # True
'X' in df.index # False
df.index.levels
다른 레벨을 확인하십시오 .
'a' in df.index.levels[0] # True
'X' in df.index.levels[1] # True
df.index
인덱스 조합 튜플을 체크인하십시오 .
('a', 'X') in df.index # True
('a', 'Y') in df.index # False
df = pandas.DataFrame({'g':[1]}, index=['isStop'])
#df.loc['g']
if 'g' in df.index:
print("find g")
if 'isStop' in df.index:
print("find a")
DataFrame 사용 : df_data
>>> df_data
id name value
0 a ampha 1
1 b beta 2
2 c ce 3
나는 시도했다 :
>>> getattr(df_data, 'value').isin([1]).any()
True
>>> getattr(df_data, 'value').isin(['1']).any()
True
그러나:
>>> 1 in getattr(df_data, 'value')
True
>>> '1' in getattr(df_data, 'value')
False
너무 재미있어 : D
참고 URL : https://stackoverflow.com/questions/23549231/check-if-a-value-exists-in-pandas-dataframe-index
반응형
'Programing' 카테고리의 다른 글
Android 및 iOS에 동일한 C ++ 코드를 사용하는 방법은 무엇입니까? (0) | 2020.07.21 |
---|---|
“pip”로 패키지를 제거하면 종속 패키지도 제거됩니까? (0) | 2020.07.21 |
Java 메소드에서 쓸모없는 리턴을 피하려면 어떻게합니까? (0) | 2020.07.20 |
유효성 검사없이 속성을 업데이트하는 방법 (0) | 2020.07.20 |
Django 양식 필드를 숨겨진 필드로 변경 (0) | 2020.07.20 |