Pandas 데이터 프레임에서 열 수를 어떻게 검색합니까?


184

팬더 데이터 프레임에서 열 수를 프로그래밍 방식으로 어떻게 검색합니까? 나는 다음과 같은 것을 바랐다.

df.num_columns

답변:


305

이렇게 :

import pandas as pd
df = pd.DataFrame({"pear": [1,2,3], "apple": [2,3,4], "orange": [3,4,5]})

len(df.columns)
3

35
플러스 df.shape(n_rows, n_columns)와 튜플 제공
mkln

3
@mkln df.shape [1]을 답변으로 게시하면 +1이됩니다. 이것은 numpy로 작업하는 더 좋은 방법이며 별도의 답변이 필요합니다.
Phil Cooper

끝난. @ PhilCooper 아마도 왜 df.shape더 나은지 설명 할 수 있습니까? 내 생각에 그것은 함수를 호출하지 않고 메모리에서 속성을 읽는 것입니까?
mkln

113

대안 :

df.shape[1]

( df.shape[0]행 수)


2
+1 martix 유형 구문으로 numpy 및 pandas 객체의 주소 지정을 권장하기 때문에 +1. (df.shape vs len (df.columns)). 사실 팬더 설명자를 모양으로 보면 len (df.columns)을 호출하지만 numpy 배열과 행렬은 속성으로 사용됩니다. 가장 효율적인 벡터화 된 연산은 벡터화 된 연산과는 대조적으로 일반적인 파이썬 신 타스로 수행 할 수 있으며 거의 ​​항상 잘못되었습니다 (해당 비난을 제외하고 numba / jit 연산)
Phil Cooper

26

데이터 프레임을 보유한 변수가 df 인 경우 :

len(df.columns)

열 수를 제공합니다.

그리고 행 수를 원하는 사람들을 위해 :

len(df.index)

행과 열의 수를 모두 포함하는 튜플의 경우 :

df.shape

3
len(df)행을주지 않겠습니까 ?
Padraic Cunningham

4
@PadraicCunningham pandas는 잊어 버릴 수있는 바로 가기가 너무 많으므로 무시하고 기본 논리를 사용하여 문제를 해결하는 것을 선호합니다. 때로는 처리 속도를 희생 할 수도 있지만 처리 시간이 몇 초 이상인 코딩 시간과 코드 가독성을 높이 평가합니다. 이 특정 경우 : len (df.index)을 사용하여 행 수를 계산할 수 있다는 것을 알게되면 다음에 열 수가 필요할 때 len (df.columns)하는 것이 자연 스럽습니다.
multigoodverse

0

이것은 나를 위해 일했다 len (list (df)).


검토에서 : 안녕하세요,이 게시물은 질문에 대한 품질 답변 을 제공하지 않는 것 같습니다 . 답변을 수정하여 개선하거나 의견으로 게시하십시오.
sɐunıɔ ןɐ qɐp

하지마 메모리와 속도를 낭비하는 새로운 목록을 만듭니다.
jmmcd

0

df.info () 함수는 다음과 같은 결과를 줄 것입니다. sep 매개 변수가없는 팬더의 read_csv 메소드 또는 ","가있는 sep를 사용하는 경우.

raw_data = pd.read_csv("a1:\aa2/aaa3/data.csv")
raw_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5144 entries, 0 to 5143
Columns: 145 entries, R_fighter to R_age

0

열 번호와 열 정보를 얻는 여러 가지 옵션이
있습니다.

local_df = pd.DataFrame (np.random.randint (1,12, size = (2,6)), columns = [ 'a', 'b', 'c', 'd', 'e', ​​'f ']) 1. local_df.shape [1]-> 모양 속성은 튜플을 (행 및 열) (0,1)로 반환합니다.

  1. local_df.info ()-> info 메소드는 데이터 프레임에 대한 자세한 정보를 반환하며 열 수, 열의 데이터 유형, null 값이 아닌 수, 데이터 프레임의 메모리 사용량과 같은 열입니다.

  2. len (local_df.columns)-> columns 속성은 데이터 프레임 열의 인덱스 객체를 반환하고 len 함수는 사용 가능한 총 열을 반환합니다.

  3. local_df.head (0)-> 매개 변수가 0 인 head 메서드는 실제로 df 헤더의 첫 번째 행을 반환합니다.

열 수가 10보다 크지 않다고 가정합니다. 루프 재미의 경우 : local_df의 x에 대해 li_count = 0 : li_count = li_count + 1 print (li_count)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.