약 50 열 및> 100 행을 가진 팬더 데이터 프레임이 있습니다. 열 'col_x'
, 'col_y'
('col_z' < m
)을 선택하고 싶습니다. 이 작업을 수행하는 간단한 방법이 있습니까? df[df['col3'] < m]
및 df[['colx','coly']]
과 유사하지만 결합 되었습니까?팬드는 행 조건에 따라 특정 열을 선택합니다.
답변
문제를 해결해 보겠습니다. 당신은 당신이 결과에서 컬럼의 서브 세트를 선택하려는 일부 부울 조건
- 필터 행에합니다.
첫 번째 점의 경우, 당신이 필요로하는 것입니다 상태입니다 - 두 번째 요구 사항에 대한
df["col_z"] < m
, 당신은 당신이 필요로하는 열 목록을 지정하려는 것 -
["col_x", "col_y"]
팬더로 예상되는 출력을 내기 위해이 두 가지를 결합하면 어떨까요? 첫 번째 인자는 행을 선택
df.loc[df["col_z"] < m, ["col_x", "col_y"]]
, 두 번째 인수는 열을 선택 - 가장 간단한 방법은 loc
를 사용한다. 선택 및 투사 -
더 관계 대수 연산의 관점에서 본의 loc
생각해 소개. 만약 당신이 SQL 세계에서왔다면, 이것과 관련이있을 것이다. 위의 동작은, SQL 구문이 같을 것이다 -
SELECT col_x, col_y # projection on columns
FROM df
WHERE col_z < m # selection on rows
pandas
LOC 당신이 행을 선택하는 인덱스 라벨을 지정할 수 있습니다. 당신이 dataframe이있는 경우 예를 들어, -
col_x col_y
a 1 4
b 2 5
c 3 6
이 col_x
인덱스 a
및 c
을 선택하고 당신이 사용하는 거라고 -
df.loc[['a', 'c'], ['col_x']]
col_x
a 1
c 3
을 또는 부울 조건에 의해 선택하는 (시리즈를 사용하여 col_x
모든 값이 홀수 원래 질문 요청으로 bool
값/배열) -
df.loc[(df.col_x % 2).ne(0), ['col_y']]
col_y
a 4
c 6
자세한 내용은 df.col_x % 2
은 2
을 기준으로 각 값의 모듈러스를 계산합니다. ne(0)
은 그 값을 0
과 비교하고, 그렇지 않으면 True
을 반환합니다 (이 경우 홀수를 선택합니다).여기에 그 표현이 결과 무엇 - 또한 읽기
(df.col_x % 2).ne(0)
a True
b False
c True
Name: col_x, dtype: bool
https://stackoverflow.com/questions/44890713/selection- with-loc-in-python도 비슷한 질문을합니다. 그리고 아마 튜토리얼을 참조 할 것입니다. 그래도 정교한 대답처럼! +1 –
@AntonvBR 감사합니다. 나는 속는 사람으로 닫을 지 궁금해서 질문에 아주 잘 대답한다. –
필자는 아마도 그것을 닫고 piRsquared 대답을 참조 할 것입니다. 그러나 당신은 당신의 대답이 받아 들여질 때까지 기다릴 수 있습니다. 사실 ... 더 생각하고있어. 나는 정말로 당신과 내가 도움을 줄 수있는 몇 안되는 다른 사람들이이 튜토리얼을 확장하는데 약간의 시간을 할애 할 수 있다고 생각한다. 이런 것들을 재사용하는 데 도움이 될 것입니다. –
- 1. 행 조건에 따라 열을 생성
- 2. MYSQL - 특정 조건에 따라 여분의 열을 출력합니다.
- 3. PostgreSQL은 조건에 따라 행의 창을 선택합니다.
- 4. 특정 조건에 따라 테이블에서 행 선택
- 5. Matlab - 조건에 따라 특정 행 선택
- 6. 트리거를 사용하여 조건에 따라 특정 행 잠그기
- 7. 보고서 작성기 2.0 : 특정 조건에 따라 특정 행 표시
- 8. 조건에 따라 행 삽입
- 9. 조건에 따라 열을 삭제하는 방법
- 10. jquery는 조건에 따라 표의 마지막 셀을 선택합니다.
- 11. 특정 조건에 따라 내 테이블의 특정 열을 회색으로 표시합니다.
- 12. 조건에 따라 열을 업데이트하는 방법
- 13. 조건에 따라 판다의 차이 행
- 14. 조건에 따라 xml에서 행 삭제
- 15. 조건에 따라 두 개의 다른 표에서 데이터를 선택합니다. mySQL
- 16. 업데이트 작성 특정 조건에 따라 열을 업데이트하기위한 쿼리
- 17. 조건에 따라 GridView 행 색상을 변경하십시오.
- 18. 조건에 따라 특정 필드 인쇄
- 19. 조건에 따라 특정 데이터베이스 사용
- 20. MYSQL (특정 조건에 따라 선택)
- 21. 조건에 따라 특정 개체 재구성
- 22. 조건에 따라 특정 셀 잠그기
- 23. 일부 조건에 따라 파일에서 특정 행 추출 (명령 줄)
- 24. 회의 조건에 따라 R 행 삭제하기
- 25. R : 특정 조건에 따라 데이터 프레임 집계
- 26. 조건에 따라 테이블 열을 업데이트하려면 어떻게합니까?
- 27. R : 조건에 따라 열을 이동하는 방법
- 28. 조건에 따라 다른 열을 선택하는 방법이 있습니까?
- 29. 조건에 따라 열 메뉴 열의 열을 숨기기
- 30. 조건에 따라 여러 열을 업데이트하는 방법은 무엇입니까?
'df.loc [df [ "colz"]
@ cᴏʟᴅsᴘᴇᴇᴅ 감사합니다! 나는 이런 식의 방법이 있지만 구문을 기억할 수 없다는 것을 알았습니다! 답변으로 게시하여 답변 해 주시면 감사하겠습니다. – Sockey
[파이썬에서 .loc으로 선택] 가능한 중복 (https://stackoverflow.com/questions/44890713/selection-with-loc-in-python) – Maxim