나는 테이블이있다 x
:
website
0 http://www.google.com/
1 http://www.yahoo.com
2 None
python None을 pandas NaN으로 바꾸고 싶습니다. 나는 시도했다 :
x.replace(to_replace=None, value=np.nan)
그러나 나는 얻었다 :
TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool'
어떻게해야합니까?
답변
DataFrame.fillna
또는 문자열이 아닌 Series.fillna
Python 객체를 대체 할 수 있습니다 .None
'None'
import pandas as pd
import numpy as np
데이터 프레임의 경우 :
df = df.fillna(value=np.nan)
열 또는 시리즈의 경우 :
df.mycol.fillna(value=np.nan, inplace=True)
답변
또 다른 옵션이 있습니다.
df.replace(to_replace=[None], value=np.nan, inplace=True)
답변
다음 줄은 다음으로 대체 None
됩니다 NaN
.
df['column'].replace('None', np.nan, inplace=True)
답변
df.replace ([None], np.nan, inplace = True)를 사용하면 누락 된 데이터가있는 모든 datetime 개체가 개체 dtypes로 변경되었습니다. 따라서 데이터 크기에 따라 부담이 될 수있는 datetime으로 다시 변경하지 않는 한 쿼리가 손상되었을 수 있습니다.
이 방법을 사용하려면 먼저 df에서 객체 dtype 필드를 식별 한 다음 None을 대체 할 수 있습니다.
obj_columns = list(df.select_dtypes(include=['object']).columns.values)
df[obj_columns] = df[obj_columns].replace([None], np.nan)
답변
DataFrame['Col_name'].replace("None", np.nan, inplace=True)