복붙노트

[PYTHON] pandas DataFrame 열 헤더에서 목록 가져 오기

PYTHON

pandas DataFrame 열 헤더에서 목록 가져 오기

pandas DataFrame에서 열 머리글 목록을 가져오고 싶습니다. DataFrame은 사용자 입력에서 나올 것이므로 얼마나 많은 열이있을 것인지, 아니면 호출 될 것인지 알 수 없을 것입니다.

예를 들어, 다음과 같은 DataFrame이 주어진 경우 :

>>> my_dataframe
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7

아래 목록과 같은 목록을 얻고 싶습니다.

>>> header_list
[y, gdp, cap]

해결법

  1. ==============================

    1.다음을 수행하여 값을 목록으로 가져올 수 있습니다.

    다음을 수행하여 값을 목록으로 가져올 수 있습니다.

    list(my_dataframe.columns.values)
    

    또한 다음과 같이 간단하게 사용할 수 있습니다.

    list(my_dataframe)
    
  2. ==============================

    2.가장 뛰어난 성능을 지닌 메소드가 내장되어 있습니다.

    가장 뛰어난 성능을 지닌 메소드가 내장되어 있습니다.

    my_dataframe.columns.values.tolist()
    

    .columns는 인덱스를 반환하고, .columns.values는 배열을 반환하며 이것은 목록을 반환하는 도우미 함수를가집니다.

    편집하다

    입력을 싫어하는 사람들에게는 아마도 가장 짧은 방법 일 것입니다.

    list(df)
    
  3. ==============================

    3.몇 가지 빠른 테스트 및 아마도 dataframe.columns.values.tolist ()를 사용하는 내장 버전이 가장 빠릅니다.

    몇 가지 빠른 테스트 및 아마도 dataframe.columns.values.tolist ()를 사용하는 내장 버전이 가장 빠릅니다.

    In [1]: %timeit [column for column in df]
    1000 loops, best of 3: 81.6 µs per loop
    
    In [2]: %timeit df.columns.values.tolist()
    10000 loops, best of 3: 16.1 µs per loop
    
    In [3]: %timeit list(df)
    10000 loops, best of 3: 44.9 µs per loop
    
    In [4]: % timeit list(df.columns.values)
    10000 loops, best of 3: 38.4 µs per loop
    

    (나는 여전히리스트 (데이터 프레임)을 정말 좋아한다. 덕분에 EdChum!)

  4. ==============================

    4.그것도 훨씬 간단 해집니다 (판다 0.16.0 기준) :

    그것도 훨씬 간단 해집니다 (판다 0.16.0 기준) :

    df.columns.tolist()
    

    좋은 목록의 컬럼 이름을 줄 것이다.

  5. ==============================

    5.

    >>> list(my_dataframe)
    ['y', 'gdp', 'cap']
    

    디버거 모드에서 데이터 프레임의 열을 나열하려면 목록 이해를 사용하십시오.

    >>> [c for c in my_dataframe]
    ['y', 'gdp', 'cap']
    

    그런데 sorted를 사용하여 정렬 된 목록을 얻을 수 있습니다.

    >>> sorted(my_dataframe)
    ['cap', 'gdp', 'y']
    
  6. ==============================

    6.my_dataframe.columns로 사용할 수 있습니다.

    my_dataframe.columns로 사용할 수 있습니다.

  7. ==============================

    7.흥미 롭지 만 df.columns.values.tolist ()가 df.cumns.tolist ()보다 거의 3 배 빠르지 만 나는 동일하다고 생각했습니다.

    흥미 롭지 만 df.columns.values.tolist ()가 df.cumns.tolist ()보다 거의 3 배 빠르지 만 나는 동일하다고 생각했습니다.

    In [97]: %timeit df.columns.values.tolist()
    100000 loops, best of 3: 2.97 µs per loop
    
    In [98]: %timeit df.columns.tolist()
    10000 loops, best of 3: 9.67 µs per loop
    
  8. ==============================

    8.DataFrame은 개체의 "키"를 반복하는 dict-like 규칙을 따릅니다.

    DataFrame은 개체의 "키"를 반복하는 dict-like 규칙을 따릅니다.

    my_dataframe.keys()
    

    키 / 열 목록 만들기 - 객체 메소드 to_list () 및 파이썬 적 방법

    my_dataframe.keys().to_list()
    list(my_dataframe.keys())
    

    DataFrame의 기본 반복은 열 레이블을 반환합니다.

    [column for column in my_dataframe]
    

    DataFrame을 목록으로 변환하지 말고 열 레이블을 가져옵니다. 편리한 코드 샘플을 찾는 동안 생각을 멈추지 마십시오.

    xlarge = pd.DataFrame(np.arange(100000000).reshape(10000,10000))
    list(xlarge) #compute time and memory consumption depend on dataframe size - O(N)
    list(xlarge.keys()) #constant time operation - O(1)
    
  9. ==============================

    9.IPython 노트북의 데이터 탐색을 위해 필자가 선호하는 방법은 다음과 같습니다.

    IPython 노트북의 데이터 탐색을 위해 필자가 선호하는 방법은 다음과 같습니다.

    sorted(df)
    

    알파벳 순서로 된 목록을 읽기 쉽게 만들어줍니다.

    코드에서 나는 그것을 더 명백하게한다.

    df.columns
    

    그것은 당신이하고있는 것을 당신의 코드를 읽는 다른 사람들에게 알려주기 때문입니다.

  10. ==============================

    10.

    n = []
    for i in my_dataframe.columns:
        n.append(i)
    print n
    
  11. ==============================

    11.질문에 대한 추가 설명이 필요하다고 생각합니다.

    질문에 대한 추가 설명이 필요하다고 생각합니다.

    @fixxxer가 언급했듯이 응답은 프로젝트에서 사용중인 판다 버전에 따라 다릅니다. pd____ version__ 명령으로 얻을 수있는 것.

    만약 당신이 나 같은 어떤 이유로 든 (0.14.1을 사용하는 데비안 jessie에서) 판다의 이전 버전을 0.16.0 이상 사용한다면 다음을 사용해야합니다 :

    df.columns 메소드가 아직 구현되어 있지 않기 때문에 df.keys (). tolist ()를 호출하십시오.

    이 키 방식의 장점은 새 버전의 판다에서도 작동한다는 점입니다. 따라서 더 보편적입니다.

  12. ==============================

    12.시므온 비서가 대답했다.

    시므온 비서가 대답했다.

    list(my_dataframe.columns.values) 
    

    또는

    list(my_dataframe) # for less typing.
    

    하지만 가장 좋은 점은 다음과 같다고 생각합니다.

    list(my_dataframe.columns)
    

    그것은 불필요하게 길지 않은 동시에 명시 적입니다.

  13. ==============================

    13.이 솔루션은 my_dataframe 개체의 모든 열을 나열합니다.

    이 솔루션은 my_dataframe 개체의 모든 열을 나열합니다.

    print(list(my_dataframe))
    
  14. ==============================

    14.

    list(a_dataframe)
    

    이것은 그것을해야한다!

  15. ==============================

    15.빠르고, 깔끔하고 시각적 인 검사를 받으려면 다음을 시도하십시오.

    빠르고, 깔끔하고 시각적 인 검사를 받으려면 다음을 시도하십시오.

    for col in df.columns:
        print col
    
  16. ==============================

    16.이렇게하면 목록에있는 열의 이름이 표시됩니다.

    이렇게하면 목록에있는 열의 이름이 표시됩니다.

    list(my_dataframe.columns)
    

    tolist ()라는 또 다른 함수도 사용할 수 있습니다.

    my_dataframe.columns.tolist()
    
  17. ==============================

    17.색인 속성을 사용할 수 있습니다.

    색인 속성을 사용할 수 있습니다.

    df = pd.DataFrame({'col1' : np.random.randn(3), 'col2' : np.random.randn(3)},
                     index=['a', 'b', 'c'])
    
  18. from https://stackoverflow.com/questions/19482970/get-list-from-pandas-dataframe-column-headers by cc-by-sa and MIT license