그냥 DataFrame.columns
반복 , 지금 이것은 당신이 일치하는 열 이름의 목록이 끝날하는 예입니다
import pandas as pd
data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)
spike_cols = [col for col in df.columns if 'spike' in col]
print(list(df.columns))
print(spike_cols)
출력 :
['hey spke', 'no', 'spike-2', 'spiked-in']
['spike-2', 'spiked-in']
설명 :
df.columns
은 열 이름 목록을 반환합니다.
[col for col in df.columns if 'spike' in col]
은 col
변수를 사용하여 목록 df.columns
을 반복하고 col
에 'spike'
이 포함 된 경우 결과 목록에 추가합니다. 이 구문은 list comprehension입니다.
만이 할 수있는 일치하는 열이 설정 결과 데이터하려면 다음
이
df2 = df.filter(regex='spike')
print(df2)
출력 :
spike-2 spiked-in
0 1 7
1 2 8
2 3 9
굉 즉! 나는 그것이 어떻게 작동하는지 정확히 이해하지 못한다.하지만 여전히 파이썬과 팬더 모두에게 새로운 것이다. 아마 설명해 주시겠습니까? – Sajber
이것은''DataFrame.filter''가 참고로하는 것입니다 (그리고 원할 경우 정규 표현식을 제공 할 수 있습니다) – Jeff
설명 주셔서 감사합니다! – Sajber