이 글에서는 Python Pandas 라이브러리를 사용하는 방법에 대해 설명하고 query()를 사용한 우아한 쿼리 방법을 소개하겠습니다. 모두에게 도움이 되기를 바랍니다.
Pandas가 조건에 따라 특정 데이터를 얻기 위해서는 누구나 쉽게 해당 코드를 작성할 수 있다고 생각하지만 쿼리를 사용해 본 적이 없다면 그 단순함에 감동받을 것이라고 믿습니다!
일반 사용법
먼저 DataFrame을 생성하세요.
import pandas as pd df = pd.DataFrame( {'A': ['e', 'd', 'c', 'b', 'a'], 'B': ['f', 'b', 'c', 'd', 'e'], 'C': range(0, 10, 2), 'D': range(10, 0, -2), 'E.E': range(10, 5, -1)})
이제 A열의 문자가 B열에 나타나는 모든 행을 선택합니다. 먼저 두 가지 일반적인 글쓰기 방법을 살펴보겠습니다.
>>> df[df['A'].isin(df['B'])] A B C D E.E 0 e f 0 10 10 1 d b 2 8 9 2 c c 4 6 8 3 b d 6 4 7 >>> df.loc[df['A'].isin(df['B'])] A B C D E.E 0 e f 0 10 10 1 d b 2 8 9 2 c c 4 6 8 3 b d 6 4 7
아래 query()
를 사용하여 구현하세요. query()
来实现。
>>> df.query("A in B") A B C D E.E 0 e f 0 10 10 1 d b 2 8 9 2 c c 4 6 8 3 b d 6 4 7
可以看到使用 query
后的代码简洁易懂,并且它对于内存的消耗也更小。
多条件查询
选取 A列字母出现在B列,并且C列小于D列 的所有行。
>>> df.query('A in B and C < D') A B C D E.E 0 e f 0 10 10 1 d b 2 8 9 2 c c 4 6 8
这里 and
也可以用 &
表示。
引用变量
表达式中也可以使用外部定义的变量,在变量名前用@标明。
>>> number = 5 >>> df.query('A in B & C > @number') A B C D E.E 3 b d 6 4 7
索引选取
选取 A列字母出现在B列,并且索引大于2 的所有行。
>>> df.query('A in B and index > 2') A B C D E.E 3 b d 6 4 7
多索引选取
创建一个两层索引的 DataFrame。
>>> import numpy as np >>> colors = ['yellow']*3 + ['red']*2 >>> rank = [str(i) for i in range(5)] >>> index = pd.MultiIndex.from_arrays([colors, rank], names=['color', 'rank']) >>> df = pd.DataFrame(np.arange(10).reshape(5, 2),columns=['A', 'B'] , index=index) >>> df = pd.DataFrame(np.arange(10).reshape(5, 2),columns=['A', 'B'] , index=index) >>> df A B color rank yellow 0 0 1 1 2 3 2 4 5 red 3 6 7 4 8 9
1、当有多层索引有名称时,通过索引名称直接选取。
>>> df.query("color == 'red'") A B color rank red 3 6 7 4 8 9
2、当有多层索引无名时,通过索引级别来选取。
>>> df.index.names = [None, None] >>> df.query("ilevel_0 == 'red'") A B red 3 6 7 4 8 9 >>> df.query("ilevel_1 == '4'") A B red 4 8 9
特殊字符
对于列名中间有空格或运算符等其他特殊符号,需要使用反引号 ``
>>> df.query('A == B | (C + 2 > `E.E`)') A B C D E.E 2 c c 4 6 8 3 b d 6 4 7 4 a e 8 2 6
query
를 사용한 후의 코드가 간결하고 이해하기 쉬우며, 메모리 소모도 적은 것을 확인할 수 있습니다.
선택 🎜A열의 문자가 B열에 나타나고 C열이 D열보다 작은 모든 행 선택 🎜. 🎜rrreee🎜여기서 and
는 &
로도 표현할 수 있습니다. 🎜🎜🎜참조 변수🎜🎜🎜외부 정의 변수는 변수 이름 앞에 @를 표시하여 표현식에서도 사용할 수 있습니다. 🎜rrreee🎜🎜색인 선택🎜🎜🎜Select 🎜A열의 문자가 B열에 나타나고 색인이 2🎜보다 큰 모든 행을 선택하세요. 🎜rrreee🎜🎜다중 인덱스 선택🎜🎜🎜두 가지 수준의 인덱스가 있는 DataFrame을 만듭니다. 🎜rrreee🎜1. 이름이 있는 색인이 여러 개 있을 경우 색인 이름으로 직접 선택하세요. 🎜rrreee🎜2. 이름 없는 인덱스가 여러 개 있을 경우 인덱스 수준별로 선택하세요. 🎜rrreee🎜🎜특수 문자🎜🎜🎜열 이름에 공백이나 연산자와 같은 기타 특수 기호가 중간에 있는 경우 백틱을 사용해야 합니다. ``. 🎜rrreee🎜일반적으로 query()의 사용법은 비교적 간단하여 빠르게 시작할 수 있고, 코드의 가독성도 많이 향상되었습니다. 🎜🎜【관련 추천: 🎜Python3 비디오 튜토리얼🎜】🎜
위 내용은 한 기사에서 Python에서 query()를 사용하여 우아한 쿼리를 수행하는 방법을 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
