반응형
다음과 같이 Pandas DataFrame의 데이터가 제공됩니다.
Name Amount
---------------
Alice 100
Bob 50
Charlie 200
Alice 30
Charlie 10
Name
이 컬렉션 {Alice, Bob}
의 여러 값 중 하나 인 모든 행을 선택하고 싶습니다.
Name Amount
---------------
Alice 100
Bob 50
Alice 30
Pandas에서이를 수행하는 효율적인 방법은 무엇입니까?
내가 보는 옵션
다음과 같은 많은 문을 선택하고 병합합니다.
merge(df[df.name = specific_name] for specific_name in names) # something like this
일종의 조인 수행
여기서 성능 절충점은 무엇입니까? 한 솔루션이 다른 솔루션보다 나은 때는 언제입니까? 내가 놓친 솔루션은 무엇입니까?
위의 예는 문자열을 사용하지만 실제 작업은 수백만 행에 걸쳐 10-100 정수에 대한 일치를 사용하므로 빠른 NumPy 작업이 관련 될 수 있습니다.
해결 방법
In [11]: df['Name'].isin(['Alice', 'Bob'])
Out[11]:
0 True
1 True
2 False
3 True
4 False
Name: Name, dtype: bool
In [12]: df[df.Name.isin(['Alice', 'Bob'])]
Out[12]:
Name Amount
0 Alice 100
1 Bob 50
3 Alice 30
참조 페이지 https://stackoverflow.com/questions/22485375
반응형
'파이썬' 카테고리의 다른 글
파이썬 평균 및 표준 편차 플로팅 (0) | 2020.12.19 |
---|---|
파이썬 별도의 Pandas DataFrame을 서브 플롯으로 플로팅하려면 어떻게해야합니까? (0) | 2020.12.19 |
파이썬 Python 3에서 cmp ()를 사용하는 방법은 무엇입니까? (0) | 2020.12.19 |
파이썬 requests.codes.ok에 304가 포함되어 있습니까? (0) | 2020.12.19 |
파이썬 PyQt에서 사용자 정의 위젯에 스타일 시트를 적용하는 방법 (0) | 2020.12.18 |
댓글