我正在尝试导入一些简单的Likert-scale数据,并使用堆叠的水平条形图绘制它。
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!
VALUES吗?
我有〜{3000条#NULL!
条目的记录
答案 0 :(得分: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!
中使用na_values='#NULL!'
导入时指定pd.read_excel()
是NaN。