2016-11-14 2 views
2

NAs, NaN 및 float가 포함 된 팬더 열이 있습니다 (열의 dtype이 'Object'임). NAs를 NaN으로 변환하는 데 어려움을 겪고 있습니다. NAs를 NaN으로 바꾸고 dtype 열을 float로 변경하려고합니다.팬더 열의 NA 및 NaN : Python

NA를 대체하는 다양한 방법을 사용해 보았습니다. 예 :

df.data.astype('float', inplace=True) 
ValueError: could not convert string to float: NA 

df.data[df.data == 'NA'] 
Series([], Name: data, dtype: object) # empty 

또한 csv를 읽을 때 na_values ​​= 'NA'매개 변수를 사용해 보았습니다. 당신이 도울 수 있기를 바랍니다. 감사.

답변

0

이 일 :

df.data = pd.to_numeric(df.data, errors='coerce') 
0

당신이 시도 할 수 있습니다 : '.'

import pandas as pd 
import numpy as np 

df = pd.DataFrame([1, 2, 3, 4, 5, 'NA', 6, 7, 'NaN', 'Stuff'], columns=['Col1']) 

rem_fields = (r'[^.0-9]') 

rep_with = (np.nan) 

df['Col1'].replace(regex=True, inplace=True, to_replace=rem_fields, value= rep_with) 

print df 

'rem_fields'숫자 또는 아니다 아무것도 교체 팬더를 알려줍니다

Col1 
0 1.0 
1 2.0 
2 3.0 
3 4.0 
4 5.0 
5 NaN 
6 6.0 
7 7.0 
8 NaN 
9 NaN 
: NaN이

이 출력입니다