나는 지금 까지이 게시물을 보지 못 했으므로 여기에 남겨 두겠습니다.
확장 가능한 반복적 압축 풀기 (python3.5 +) : [*df]
및 친구
압축 풀기 일반화 (PEP 448) 가 Python 3.5에서 도입되었습니다. 따라서 다음 작업이 모두 가능합니다.
df = pd.DataFrame('x', columns=['A', 'B', 'C'], index=range(5))
df
A B C
0 x x x
1 x x x
2 x x x
3 x x x
4 x x x
당신이 원한다면 list
....
[*df]
# ['A', 'B', 'C']
또는 당신이 원하는 경우 set
,
{*df}
# {'A', 'B', 'C'}
또는 당신이 원하는 경우 tuple
,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
또는 결과를 어딘가에 저장하려면
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... 커피를 타이핑 소리로 변환하는 사람이라면 커피를보다 효율적으로 소비합니다.)
추신 : 성능이 중요하다면 위의 솔루션을 선호하여 위의 솔루션을 제거하고 싶을 것입니다
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
이 유사하다 에드 미끼의 대답 하지만 v0.24 업데이트 .to_numpy()
를 사용하는 것이 바람직하다 .values
. 자세한 내용은
이 답변 을 참조하십시오.
육안 검사
다른 답변에서 논의 된 것을 보았으므로 반복 가능한 포장 풀기를 사용할 수 있습니다 (명시 적 루프 필요 없음).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
다른 방법의 비판
for
한 줄로 수행 할 수있는 작업에 명시 적 루프를 사용하지 마십시오 (목록 이해는 괜찮습니다).
다음을 사용 하면 열의 sorted(df)
원래 순서 가 유지되지 않습니다 . 이를 위해서는 list(df)
대신 사용해야 합니다.
다음으로, list(df.columns)
그리고 list(df.columns.values)
(현재 버전의 같은, v0.24) 나쁨 제안합니다. 두 Index
(에서 반환 df.columns
) 및 (에 의해 반환 NumPy와 어레이 df.columns.values
)를 정의 .tolist()
더 빠르고 더 관용적 인 방법.
마지막으로, 목록 화, 즉 list(df)
확장 언 패킹이 불가능한 python <= 3.4에 대한 앞서 언급 한 방법에 대한 간결한 대안으로 만 사용해야합니다.
columns
에 속성 이 없는 이유는 무엇 입니까?