판다 데이터 프레임 인덱스에 값이 있는지 확인합니다.
나는 이것을 할 수 있는 분명한 방법이 있다고 확신하지만 지금 당장은 그럴듯한 어떤 것도 생각할 수 없습니다.
기본적으로 예외를 제기하는 대신에 저는 받고 싶습니다.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
다중 인덱스는 단일 인덱스와 조금 다르게 작동합니다.다음은 다중 인덱스 데이터 프레임을 위한 몇 가지 방법입니다.
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
참고로 제가 찾고 있던 것이기 때문에 예를 들어 ".values" 방법을 추가하여 값 또는 인덱스 내에서 존재 여부를 테스트할 수 있습니다.
g in df.<your selected field>.values
g in df.index.values
간단한 목록이나 nd 배열을 가져오기 위해 ".values"를 추가하면 다른 python 도구와 함께 "in" 검사가 더 원활하게 실행된다는 것을 알게 되었습니다.사람들을 위해 저 밖에 던져버릴까 생각했어요.
아래 코드는 부울을 인쇄하지 않지만 인덱스별 데이터 프레임 부분 집합을 허용합니다.저는 이것이 문제를 해결하는 가장 효율적인 방법이 아닐 수도 있다는 것을 이해하지만, 저는 (1) 이것이 읽는 방식이 마음에 들고 (2) df1 인덱스가 df2에 있는 곳에서 쉽게 부분 집합할 수 있습니다.
df3 = df1[df1.index.isin(df2.index)]
또는 df1 인덱스가 df2에 존재하지 않는 경우...
df3 = df1[~df1.index.isin(df2.index)]
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
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")
즐겨 사용하는 항목:
if 'value' in df.index.get_level_values(0):
print(True)
get_level_values 메서드는 인덱스가 단순하든 복합하든 상관없이 인덱스의 값을 가져올 수 있기 때문에 좋습니다.
데이터 프레임에 단일 인덱스가 있거나 여러 인덱스 수준에서 첫 번째 인덱스를 확인하려는 경우 0을 사용합니다.두 번째 인덱스에 1을 사용하고, 그 다음과 같이 수행합니다.
언급URL : https://stackoverflow.com/questions/23549231/check-if-a-value-exists-in-pandas-dataframe-index
'source' 카테고리의 다른 글
Android 단편 및 애니메이션 (0) | 2023.08.17 |
---|---|
Swift의 userInfo에서 키보드 크기 가져오기 (0) | 2023.08.17 |
동일한 파일에 대해 입력 유형=파일 "변경"을 감지하는 방법은 무엇입니까? (0) | 2023.08.17 |
for 자:자동 for 자:자동 for 자:자동 (0) | 2023.08.17 |
유연한 항목을 올바르게 띄우기 (0) | 2023.08.17 |