Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python df.loc过滤不';没有价值观就不能工作_Python_Python 2.7_Pandas - Fatal编程技术网

Python df.loc过滤不';没有价值观就不能工作

Python df.loc过滤不';没有价值观就不能工作,python,python-2.7,pandas,Python,Python 2.7,Pandas,当筛选器为项目ID==无时,为什么此筛选不起作用?我还注意到是None而不是==None返回keyrerror:False import pandas as pd df = pd.DataFrame(data = [['Project1', 'CT', 800], [None, 3, 1000], ['Project3', 'CA', 20]], columns=['Project ID', 'State', 'Cost']) print df.loc[df['Project ID'] ==

当筛选器为
项目ID
==无时,为什么此筛选不起作用?我还注意到
是None
而不是
==None
返回
keyrerror:False

import pandas as pd
df = pd.DataFrame(data = [['Project1', 'CT', 800], [None, 3, 1000], ['Project3', 'CA', 20]], columns=['Project ID', 'State', 'Cost'])

print df.loc[df['Project ID'] == 'Project1'].values
print df.loc[df['Project ID'] == None].values
输出:

[['Project1' 'CT' 800L]]
[]

您必须为此使用
isnull

In [3]:

df[df['Project ID'].isnull()]
Out[3]:
  Project ID State  Cost
1       None     3  1000
或使用
应用

In [5]:

df.loc[df['Project ID'].apply(lambda x: x is None)]
Out[5]:
  Project ID State  Cost
1       None     3  1000

详细说明一下,它不起作用,因为
pandas
使用
np.nan
,并且:

print np.nan == np.nan   # False
print np.nan == None     # False
print np.isnan(np.nan)   # True