팬더와 공통점이있는 작업은 Excel 파일에서 테이블을 읽은 다음 모든 필드에서 세미콜론을 제거하는 것입니다. 열은 혼합 된 데이터 유형에 종종이 같은 일을 할 셈 때 나는 AtributeError으로 실행 for col in cols_to_check: df[col] = df[col].map(lambda x: x.replace(';',''))
전체 데이터 프레임에서 문자 제거
AttributeError: 'float' object has no attribute 'replace'
나는 유니 코드 문자, 예를 들어, 문제가있는 교체하기 전에 str()
에 포장 할 때 이것은 매우 간단한 작업입니다 Excel에서 for col in cols_to_check: df[col] = df[col].map(lambda x: str(x).replace(';',''))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 3: ordinal not in range(128)
, 걸리는 모든 빈 문자열로 ;
을 교체하는 것입니다. 전체 데이터 프레임에 대해 판다에서 유사하게 수행 할 수 있습니까? 데이터 유형을 무시합니까? 또는 나는 무엇인가 놓치고 있냐?
덕분에,이 일! 제가 누락 한 것은'regex = True'였습니다. 그것이 없으면'replace'가 부분 문자열이 아닌 전체 문자열을 찾습니다 (엑셀의 전체 셀 내용 옵션과 동일). – user3087386
네, 맞습니다. 받아 들여 주셔서 감사합니다! – jezrael
답변에 약간의 업데이트를 제안합니다. 내 질문에 나는 데이터 형식을 열 (열 사이뿐만 아니라)에 혼합했다는 것을 언급했다. 그러나 귀하의 예제에서는 일관된 데이터 유형을 사용합니다. 또한 문자열로 만 열을 확인하지만, 'df = df.replace ({ ';': ''}, regex = True) ' 도 열 중 하나를 변경하더라도 작동합니다. '[ 'a;', 1.02, 'b']' – user3087386