팬더 NaN을 공백 / 빈 문자열로 바꿉니다.
아래와 같이 팬더 데이터 프레임이 있습니다.
1 2 3
0 a NaN read
1 b l unread
2 c NaN read
빈 문자열로 NaN 값을 제거하여 다음과 같이 나타납니다.
1 2 3
0 a "" read
1 b l unread
2 c "" read
import numpy as np
df1 = df.replace(np.nan, '', regex=True)
도움이 될 수 있습니다. 모든 NaN을 빈 문자열로 바꿉니다.
약간 더 짧습니다 :
df = df.fillna('')
아니면 그냥
df.fillna('',inplace=True)
이것은 Na (예 : NaN)를 ''로 채 웁니다.
단일 열을 채우려면 다음을 사용할 수 있습니다.
df[column1] = df.column1.fillna('')
파일에서 데이터 프레임을 읽는 경우 (예 : CSV 또는 Excel) 다음을 사용하십시오.
df.read_csv(path , na_filter=False)
df.read_excel(path , na_filter=False)
이것은 빈 필드를 빈 문자열로 자동 고려합니다. ''
이미 데이터 프레임이있는 경우
df = df.replace(np.nan, '', regex=True)
df = df.fillna('')
인쇄시 멋지게 렌더링되도록 형식을 지정하려는 경우 포맷터를 사용하십시오 . df.to_string(... formatters
불필요하게 DataFrame을 수정하거나 메모리를 낭비하지 않고을 사용하여 사용자 지정 문자열 형식을 정의하십시오.
df = pd.DataFrame({
'A': ['a', 'b', 'c'],
'B': [np.nan, 1, np.nan],
'C': ['read', 'unread', 'read']})
print df.to_string(
formatters={'B': lambda x: '' if pd.isnull(x) else '{:.0f}'.format(x)})
얻을 :
A B C
0 a read
1 b 1 unread
2 c read
DataFrame을 JSON으로 변환하는 경우 NaN
오류가 발생 하므로이 사용 사례에서로 대체 NaN
하는 것이 가장 좋습니다 None
.
방법은 다음과 같습니다.
df1 = df.where((pd.notnull(df)), None)
를 사용 keep_default_na=False
하면 도움이 될 것입니다.
df = pd.read_csv(filename, keep_default_na=False)
nan을 사용하여 하나의 문자열 값 열로 시도했습니다.
nan을 제거하고 빈 문자열을 채우려면
df.columnname.replace(np.nan,'',regex = True)
nan을 제거하고 일부 값을 채우려면
df.columnname.replace(np.nan,'value',regex = True)
df.iloc도 시도했습니다. 그러나 열의 색인이 필요합니다. 테이블을 다시 살펴 봐야합니다. 단순히 위의 방법으로 한 단계를 줄일 수있었습니다.
이 시도,
더하다 inplace=True
import numpy as np
df.replace(np.NaN, ' ', inplace=True)
참고 URL : https://stackoverflow.com/questions/26837998/pandas-replace-nan-with-blank-empty-string
'Programing' 카테고리의 다른 글
Android Studio로 작성된 프로젝트에서 사용자 정의 글꼴을 사용하는 방법 (0) | 2020.05.30 |
---|---|
NumberPicker에서 소프트 키보드 비활성화 (0) | 2020.05.30 |
mongodb 로컬 서버를 시작할 수 없습니다 (0) | 2020.05.30 |
프래그먼트와 컨테이너 활동간에 데이터 전달 (0) | 2020.05.30 |
변경시 어떻게 구현합니까 (0) | 2020.05.29 |