이름에 특정 문자열이 포함 된 열 찾기
열 이름이있는 데이터 프레임이 있고 특정 문자열을 포함하지만 정확히 일치하지 않는 데이터 프레임을 찾고 싶습니다. 내가 찾고 있어요 'spike'
열 이름이 좋아에 'spike-2'
, 'hey spike'
, 'spiked-in'
합니다 ( 'spike'
일부는 항상 연속).
열 이름이 문자열이나 변수로 반환되기를 원하므로 나중에 df['name']
또는 df[name]
정상적으로 열에 액세스합니다 . 나는 이것을 할 방법을 찾으려고 노력했지만 아무 소용이 없습니다. 팁이 있습니까?
을 반복하십시오 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]
df.columns
변수가 있는 목록 을 반복하고 포함col
된 경우 결과 목록에 추가합니다 . 이 구문은 목록 이해 입니다.col
'spike'
일치하는 열이있는 결과 데이터 세트 만 원하는 경우 다음을 수행 할 수 있습니다.
df2 = df.filter(regex='spike')
print(df2)
산출:
spike-2 spiked-in
0 1 7
1 2 8
2 3 9
이 답변 은 DataFrame.filter 메서드를 사용하여 목록 이해없이이를 수행합니다.
import pandas as pd
data = {'spike-2': [1,2,3], 'hey spke': [4,5,6]}
df = pd.DataFrame(data)
print(df.filter(like='spike').columns)
'spike-2'만 출력합니다. 위의 의견에서 일부 사람들이 제안한 것처럼 정규식을 사용할 수도 있습니다.
print(df.filter(regex='spike|spke').columns)
두 열을 모두 출력합니다. [ 'spike-2', 'hey spke']
당신은 또한 사용할 수 있습니다 df.columns[df.columns.str.contains(pat = 'spike')]
data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)
colNames = df.columns[df.columns.str.contains(pat = 'spike')]
print(colNames)
그러면 열 이름이 출력됩니다. 'spike-2', u'spiked-in'
pandas.Series.str.contains 에 대한 추가 정보 .
# select columns containing 'spike'
df.filter(like='spike', axis=1)
이름, 정규식으로 선택할 수도 있습니다. 참조 : pandas.DataFrame.filter
이 코드를 사용할 수도 있습니다.
spike_cols =[x for x in df.columns[df.columns.str.contains('spike')]]
참고URL : https://stackoverflow.com/questions/21285380/find-column-whose-name-contains-a-specific-string
'IT story' 카테고리의 다른 글
Tomcat이 실행 중입니까? (0) | 2020.08.18 |
---|---|
내 div를 수평으로 정렬하려면 어떻게해야합니까? (0) | 2020.08.18 |
ref를 사용하는 경우 및 C #에서 필요하지 않은 경우 (0) | 2020.08.18 |
Fancybox는 jQuery v1.9.0에서 작동하지 않습니다. [f.browser가 정의되지 않았습니다. / 'msie'속성을 읽을 수 없습니다.] (0) | 2020.08.18 |
LIKE 필터에서 밑줄 문자를 사용하면 모든 결과가 표시되는 이유는 무엇입니까? (0) | 2020.08.18 |