<질문>
나는 이것을 할 수있는 분명한 방법이 있다고 확신하지만 지금은 매끄러운 것을 생각할 수 없습니다.
기본적으로 예외를 제기하는 대신 내가 얻고 싶습니다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')
<답변1>
이것은 트릭을 수행해야합니다
'g' in df.index
<답변2>
다중 인덱스는 단일 인덱스와 약간 다르게 작동합니다. 다음은 다중 인덱스 데이터 프레임에 대한 몇 가지 방법입니다.
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
<답변3>
내가 찾던 것이므로 참조용으로 ".values" 메서드를 추가하여 값이나 인덱스 내 존재 여부를 테스트할 수 있습니다. 예:
g in df..values
g in df.index.values
간단한 목록을 얻기 위해 ".values"를 추가하거나 ndarray out이 존재하거나 "in" 검사가 다른 파이썬 도구와 함께 더 원활하게 실행된다는 것을 알았습니다. 사람들을 위해 저걸 버릴 줄 알았는데.
<답변4>
아래 코드는 부울을 인쇄하지 않지만 인덱스별로 데이터 프레임 부분 집합화를 허용합니다... 이것이 문제를 해결하는 가장 효율적인 방법이 아니라는 것을 이해하지만 저는 (1) 이것이 읽는 방식이 마음에 들고 (2) 쉽게 부분 집합화할 수 있습니다 여기서 df1 색인은 df2에 있습니다.
df3 = df1[df1.index.isin(df2.index)]
또는 df1 인덱스가 df2에 존재하지 않는 경우...
df3 = df1[~df1.index.isin(df2.index)]
<답변5>
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
<답변6>
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")
<답변7>
나는 사용하는 것을 좋아합니다:
if 'value' in df.index.get_level_values(0):
print(True)
get_level_values이 방법은 색인이 단순하든 복합적이든 상관없이 색인에서 값을 얻을 수 있기 때문에 좋습니다.
데이터 프레임에 단일 인덱스가 있는 경우 0(영)을 사용합니다. [또는 여러 인덱스 수준에서 첫 번째 인덱스를 확인하려는 경우]. 두 번째 색인에 1을 사용하는 식으로...
'개발 > Python' 카테고리의 다른 글
[파이썬] "if not ==" 과 "if !=" 비교 (0) | 2022.12.07 |
---|---|
[파이썬] 두 개의 데이터 프레임을 결합하는 방법? (0) | 2022.12.07 |
[파이썬 PyQt] 선택적 신호 인수 (3) | 2022.11.28 |
[파이썬] scikit-learn에서 계층화된 학습/테스트 분할 (0) | 2022.10.24 |