pandas.DataFrame.loc 사용법 요약
데이터 지정 정보
loc은 크게 나누면 다음의 데이터 지정이 가능합니다.
다양한 사용법이 있네요... (゜_゜)
프로그램을 쓸 때도 주의가 필요합니다만, 읽을 때에 어느 패턴으로 실장되고 있는지 냉정하게 구별하지 않으면, 「????」라고 될 것 같습니다. 각 샘플 코드를 작성해보고 동작을 확인해 보겠습니다.
실제로 사용해 보았습니다.
이번 동작 확인으로 이용하는 데이터는 스스로 만든 것입니다.
import pandas as pd
loc_sample_data = pd.read_csv("loc_sample_data.csv",index_col="item_name")
loc_sample_data.head()
행 인덱스는 item_name, 열은 price, stock, producing_area로 구성됩니다.
단일 인덱스 레이블 지정
추출하려는 행의 인덱스 레이블(단일)을 지정하여 데이터를 추출합니다.
이번에는 itemC의 추출을 해 나갑니다.
loc_sample_data.loc["itemC"]
추출할 수 있었습니다. 추출된 데이터는 Series 유형입니다.
색인 레이블 목록 지정
위의 예는 단일 행만 추출하지만 여러 행을 지정/추출할 수 있습니다. 복수 지정하는 경우는 리스트로 지정합니다.
이번에는 itemA, itemD의 추출을 해 나갑니다.
loc_sample_data.loc[["itemA", "itemD"]]
추출할 수 있었습니다. 추출된 데이터는 DataFrame 유형이었습니다.
단일 행 레이블, 열 레이블 지정
행과 열 각각의 레이블을 지정하여 데이터를 추출할 수도 있습니다. 이번에는 행 → itemB, 열 → producing_area를 지정하여 데이터 추출합니다.
loc_sample_data.loc["itemB", "producing_area"]
추출할 수 있었습니다. 추출된 데이터 str형입니다. 이 예제에서는 추출된 데이터 str 형식이지만 DataFrame에 저장된 데이터의 내용에 따라 달라집니다.
슬라이스를 이용한 행 레이블, 열 레이블 지정
슬라이스를 이용하여 행, 열을 복수 지정할 수 있습니다. 이것을 이용해 itemA, itemB의 price를 추출합니다.
loc_sample_data.loc["itemA":"itemB","price"]
추출할 수 있었습니다. 이것을 사용할까 ...?
진위 값 목록을 사용한 데이터 지정
추출할 데이터 프레임과 동일한 길이(행 수)의 진위 값 목록을 지정하여 True 행만 추출할 수 있습니다. 이번에는 itemB와 itemD를 추출해 본다.
loc_sample_data.loc[[False, True, False, True]]
추출할 수 있었습니다. 이것 단발이라고 사용할 기회가 될 것 같지만, 사전에 각 행마다 추출 조건을 만족할지 어떨지를 판정해, 리스트를 작성하면 사용도가 있을 것 같네요.
조건식을 이용한 데이터 지정
가장 많이 사용할 것 같은 사람입니다. 이번에는 price가 500보다 큰 데이터(itemC, itemD)를 추출해 보겠습니다.
loc_sample_data.loc[loc_sample_data["price"] > 500]
추출할 수 있었습니다. 역시 이것 단체라면 제일 사용하자.
조건식을 이용하여 특정 열만 추출
이전 조건식 외에도 특정 열을 지정하여 추출합니다. 조건은 앞에서 비슷하지만 이번에는 producing_area 열만 추출합니다.
loc_sample_data.loc[loc_sample_data["price"] > 500, ["producing_area"]]
마지막으로
여러가지 사용법 있습니다만, 반드시 익히는 것이 좋은 것은 조건식을 이용한 데이터 추출입니까. 이번 조금 길고 피곤해서 끝납니다. 그럼 다시 다음 게시물에!
Reference
이 문제에 관하여(pandas.DataFrame.loc 사용법 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tusnori/items/31746dd1c55ecff2bb22
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
loc_sample_data = pd.read_csv("loc_sample_data.csv",index_col="item_name")
loc_sample_data.head()
loc_sample_data.loc["itemC"]
loc_sample_data.loc[["itemA", "itemD"]]
loc_sample_data.loc["itemB", "producing_area"]
loc_sample_data.loc["itemA":"itemB","price"]
loc_sample_data.loc[[False, True, False, True]]
loc_sample_data.loc[loc_sample_data["price"] > 500]
loc_sample_data.loc[loc_sample_data["price"] > 500, ["producing_area"]]
여러가지 사용법 있습니다만, 반드시 익히는 것이 좋은 것은 조건식을 이용한 데이터 추출입니까. 이번 조금 길고 피곤해서 끝납니다. 그럼 다시 다음 게시물에!
Reference
이 문제에 관하여(pandas.DataFrame.loc 사용법 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tusnori/items/31746dd1c55ecff2bb22텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)