[PYTHON] pandas DataFrame 열 헤더에서 목록 가져 오기
PYTHONpandas 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.다음을 수행하여 값을 목록으로 가져올 수 있습니다.
다음을 수행하여 값을 목록으로 가져올 수 있습니다.
list(my_dataframe.columns.values)
또한 다음과 같이 간단하게 사용할 수 있습니다.
list(my_dataframe)
-
==============================
2.가장 뛰어난 성능을 지닌 메소드가 내장되어 있습니다.
가장 뛰어난 성능을 지닌 메소드가 내장되어 있습니다.
my_dataframe.columns.values.tolist()
.columns는 인덱스를 반환하고, .columns.values는 배열을 반환하며 이것은 목록을 반환하는 도우미 함수를가집니다.
편집하다
입력을 싫어하는 사람들에게는 아마도 가장 짧은 방법 일 것입니다.
list(df)
-
==============================
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.그것도 훨씬 간단 해집니다 (판다 0.16.0 기준) :
그것도 훨씬 간단 해집니다 (판다 0.16.0 기준) :
df.columns.tolist()
좋은 목록의 컬럼 이름을 줄 것이다.
-
==============================
5.
>>> list(my_dataframe) ['y', 'gdp', 'cap']
디버거 모드에서 데이터 프레임의 열을 나열하려면 목록 이해를 사용하십시오.
>>> [c for c in my_dataframe] ['y', 'gdp', 'cap']
그런데 sorted를 사용하여 정렬 된 목록을 얻을 수 있습니다.
>>> sorted(my_dataframe) ['cap', 'gdp', 'y']
-
==============================
6.my_dataframe.columns로 사용할 수 있습니다.
my_dataframe.columns로 사용할 수 있습니다.
-
==============================
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.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.IPython 노트북의 데이터 탐색을 위해 필자가 선호하는 방법은 다음과 같습니다.
IPython 노트북의 데이터 탐색을 위해 필자가 선호하는 방법은 다음과 같습니다.
sorted(df)
알파벳 순서로 된 목록을 읽기 쉽게 만들어줍니다.
코드에서 나는 그것을 더 명백하게한다.
df.columns
그것은 당신이하고있는 것을 당신의 코드를 읽는 다른 사람들에게 알려주기 때문입니다.
-
==============================
10.
n = [] for i in my_dataframe.columns: n.append(i) print n
-
==============================
11.질문에 대한 추가 설명이 필요하다고 생각합니다.
질문에 대한 추가 설명이 필요하다고 생각합니다.
@fixxxer가 언급했듯이 응답은 프로젝트에서 사용중인 판다 버전에 따라 다릅니다. pd____ version__ 명령으로 얻을 수있는 것.
만약 당신이 나 같은 어떤 이유로 든 (0.14.1을 사용하는 데비안 jessie에서) 판다의 이전 버전을 0.16.0 이상 사용한다면 다음을 사용해야합니다 :
df.columns 메소드가 아직 구현되어 있지 않기 때문에 df.keys (). tolist ()를 호출하십시오.
이 키 방식의 장점은 새 버전의 판다에서도 작동한다는 점입니다. 따라서 더 보편적입니다.
-
==============================
12.시므온 비서가 대답했다.
시므온 비서가 대답했다.
list(my_dataframe.columns.values)
또는
list(my_dataframe) # for less typing.
하지만 가장 좋은 점은 다음과 같다고 생각합니다.
list(my_dataframe.columns)
그것은 불필요하게 길지 않은 동시에 명시 적입니다.
-
==============================
13.이 솔루션은 my_dataframe 개체의 모든 열을 나열합니다.
이 솔루션은 my_dataframe 개체의 모든 열을 나열합니다.
print(list(my_dataframe))
-
==============================
14.
list(a_dataframe)
이것은 그것을해야한다!
-
==============================
15.빠르고, 깔끔하고 시각적 인 검사를 받으려면 다음을 시도하십시오.
빠르고, 깔끔하고 시각적 인 검사를 받으려면 다음을 시도하십시오.
for col in df.columns: print col
-
==============================
16.이렇게하면 목록에있는 열의 이름이 표시됩니다.
이렇게하면 목록에있는 열의 이름이 표시됩니다.
list(my_dataframe.columns)
tolist ()라는 또 다른 함수도 사용할 수 있습니다.
my_dataframe.columns.tolist()
-
==============================
17.색인 속성을 사용할 수 있습니다.
색인 속성을 사용할 수 있습니다.
df = pd.DataFrame({'col1' : np.random.randn(3), 'col2' : np.random.randn(3)}, index=['a', 'b', 'c'])
from https://stackoverflow.com/questions/19482970/get-list-from-pandas-dataframe-column-headers by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] pandas resample documentation [닫힘] (0) | 2018.10.05 |
---|---|
[PYTHON] 파이썬 문자열에서 공백을 제거하려면 어떻게해야합니까? (0) | 2018.10.05 |
[PYTHON] Tkinter 위젯이 None으로 저장된 이유는 무엇입니까? (AttributeError : 'NoneType'객체 ...) (TypeError : 'NoneType'객체 ...) [duplicate] (0) | 2018.10.05 |
[PYTHON] Jinja로 JS로 렌더링하면 문자열이 아닌 숫자가 잘못 생성됩니다. (0) | 2018.10.05 |
[PYTHON] 하위 프로세스 readline이 EOF를 기다리는 동안 중단됩니다. (0) | 2018.10.05 |