2016-10-28 7 views
-2

私はExcelデータを扱っています。私は、データ型フレームdfにオブジェクト型で空白の値を持つ列はほとんどありません。私はdfの任意の列のすべてのブランク値を "NA"で置き換えることができるコードを記述したいと思います。パンダを使ってどうすればいいですか?これはapplymapを使ってもできますか?以下はオブジェクト型列の空白値を処理します

は、列タイプです:

id       object 
name       object 
year_founded    float64 
city       object 
country      object 
type       object 

dtype: object 

サンプルデータ:

df = pd.DataFrame({'id': ['apple_inc'],'name':['Apple Inc'],'year_founded':[],'city' 
:[],'country':['US'],'type':[]}) 
+1

'df.replace( ''、 'NA')'またはExcelファイル読み込み時にあなたはこれを試すことができます: 'DF = pd.read_excel(FILE_NAMEを、 na_values = ['']) ' – MaxU

+0

私はそれがとてもシンプルだったらいいと思います。それは動作しません。 – ComplexData

+0

再現可能なサンプルデータセットを提供できますか? – MaxU

答えて

2

na値を処理するには、2つの場所があります。

ファイルを読み込むときは、pd.read_excelは、の値を扱うパラメータ、たとえばna_valuesを指定します。

pd.read_excel(file, na_values=['', ' ']) 

もう一つはパンダmiss dataで、na値を処理するために、いくつかの機能を提供し、例えばreplacefillnaとなど、あなたが注意する必要が

df.replace('', np.nan) 

もう一つは、あなたのブランク値がextraclyあるものです彼らは ''、 ''、または '\ t'以上のものかもしれません。

df.replace('^[\s]*$', np.nan, regex=True) 

ありがとう:あなたがわからない、または空白値のdiffent種類がある場合は、通常の方法を試すことができます。

1

IIUCあなたは、単にこれを行うことができます:

In [217]: df 
Out[217]: 
    city country   id  name type year_founded 
0   US apple_inc Apple Inc 

In [218]: df = df.replace('', 'NA') 

In [219]: df 
Out[219]: 
    city country   id  name type year_founded 
0 NA  US apple_inc Apple Inc NA   NA 
関連する問題