2014-02-21 1 views
0

Я пытаюсь импортировать некоторые простые данные о масштабах и распечатывать их, используя горизонтальную гистограмму.Снижение '#NULL!' от df

import pandas as pd 

path = "C:\\..." 
datafile_name = "Motivators.xlsx" 
datafile = path + datafile_name 

xls_file = pd.ExcelFile(datafile) 
df = xls_file.parse('Sheet1') 
df = df.drop('Email_Address', 1) 

print df[:10] 
df.plot(kind='barh', stacked=True) 

Я не знаю, как именно pd.ExcelFile() работает, но есть возможность для капельной #NULL! ЗНАЧЕНИЯ?

У меня есть ~ 3000 записей с #NULL! записей

ответ

2

Замените #NULL! с NaN с, а затем dropna.

In [1]: df = pd.DataFrame([1, 2, 3, "#NULL!"]) 

In [2]: df 
Out[2]: 
     0 
0  1 
1  2 
2  3 
3 #NULL! 

[4 rows x 1 columns] 

In [3]: df.replace('#NULL!', np.nan) 
Out[3]: 
    0 
0 1 
1 2 
2 3 
3 NaN 

[4 rows x 1 columns] 

In [4]: df.replace('#NULL!', np.nan).dropna() 
Out[4]: 
    0 
0 1 
1 2 
2 3 

[3 rows x 1 columns] 

Еще лучше было бы указать, что #NULL! является NaN при импорте с na_values='#NULL!' в pd.read_excel().

Смежные вопросы