다음과 같은 값이있는 열이 있습니다.
Col1
1/1/100 'BA1
1/1/102Packe
1/1/102 'to_
그리고 1/1/100 (첫 번째 행에서) 등 만 추출하면됩니다 (1/1/102 ...).
나는 사용하고있다 :
df['col1'] = df['col1'].str.extract('(\d+)/(\d+)/(\d+)', expand=True)
그러나 나는 단지 1을 얻고있다.
이것이 작동하지 않는 이유가 확실하지 않거나 정규식에 문제가 있습니까? 아니면 일종의 매핑이 필요합니까?
단일 캡처 그룹 만 사용하면됩니다.
df['col1'] = df['col1'].str.extract('(\d+/\d+/\d+)', expand=True)
^ ^
이 str.extract
메서드는 첫 번째 캡처 그룹으로 캡처 된 값을 반환하고 정규식은 첫 번째 캡처 그룹 1
을 해당 그룹으로 캡처합니다 .
테스트:
>>> import pandas as pd
>>> df = pd.DataFrame({"col1":["1/1/100 'BA1", "1/1/102Packe", "1/1/102 'to_"]})
>>> df['col1'].str.extract('(\d+/\d+/\d+)', expand=True)
0
0 1/1/100
1 1/1/102
2 1/1/102
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다