데이터를 .csv 형식으로 처리하고 있고 모든 빈 셀을 빈 문자열 값으로 설정하려고합니다. 그래서변수가 파이썬에서 비어 있는지 확인하는 방법
' '
'NaN'
'nan'
'\n'
' '
그리고 : 내가 직면하고있어
문제는 해당 파일이 서로 다른 환경에서 여러 사람들을 위해 조작 된 것입니다, 따라서 같은이 세포에 다양한 다른 쓰레기 값이있다.
"정크 값"의 모든 유형을 식별하는 표준 방법을 찾고 있습니다.
데이터를 .csv 형식으로 처리하고 있고 모든 빈 셀을 빈 문자열 값으로 설정하려고합니다. 그래서변수가 파이썬에서 비어 있는지 확인하는 방법
' '
'NaN'
'nan'
'\n'
' '
그리고 : 내가 직면하고있어
문제는 해당 파일이 서로 다른 환경에서 여러 사람들을 위해 조작 된 것입니다, 따라서 같은이 세포에 다양한 다른 쓰레기 값이있다.
"정크 값"의 모든 유형을 식별하는 표준 방법을 찾고 있습니다.
당신은 ' '
및 '\n'
같은 공백 값을 제거하는 것이지만, 'NaN'
또는 'nan'
같은 값을 처리 할 것 isspace
기능을 사용할 수 있습니다.
blacklist = ['NaN', 'nan'] # add more as needed
그런 다음 원하지 않는 값을 필터링 할 수 isspace()
플러스 blacklist
을 사용 나는 또한 블랙리스트를 만들 것 isspace
을 사용하는 것 외에도, 그래서이 처리 할 수있는 표준 방법, 예컨대이 : 정말 없습니다.
csv를 Pandas DataFrame으로 읽은 다음 DataFrame.fillna()
을 사용할 수 있습니다.
사용 .strip() 공백을 제거하고 값이 하나가 당신을 무시 할 수 있는지 확인합니다 :
if value.strip() in ['', 'NaN', 'nan']:
# ignore this value
를 또는, 대소 문자를 구분합니다
if value.strip().lower() in ['', 'nan']:
# ignore this value
나는 생각한다 pandas.replace은 문제의 좋은 대안이 될 것입니다.
일부 샘플 코드는 다음과 같습니다
import pandas as pd
# sample data
dic = {'a':['NAN', "", "NaN"], 'b':["", "nan", '\n'], 'c':[1,'2','3']}
df = pd.DataFrame(dic)
replace_list = ['NaN', '', 'nan', '\n']
df_clean = df.replace(replace_list, '')
df_clean
당신은 팬더에 CSV 데이터를 가져 와서 같은 일을 할 수 있습니다.
희망이 있습니다.
if yourStringVar.strip() :'? – CristiFati
'NaN'에서는 작동하지 않습니다. –