我试图从dataframe
中获取数据子集,基于两个标准,其中区域类似于“内布拉斯加州”,而metric1不类似于nan
区域过滤器工作,但是nan
过滤器不工作,我不确定为什么。如果您能提供一些关于它为什么不起作用的建议,我将不胜感激
谢谢
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import math
import pyodbc
data = [{ 'Region':'nebraska', 'metric1':50},
{ 'Region':'nebraska', 'metric1':np.nan},
{ 'Region':'nebraska', 'metric1':50},
{ 'Region':'nebraska', 'metric1':50},
{ 'Region':'oaklahoma', 'metric1':np.nan},
{ 'Region':'oaklahoma', 'metric1':50},
{ 'Region':'oaklahoma', 'metric1':np.nan},]
testDataset = pd.DataFrame(data)
testDataset[(testDataset.Region.str.contains('nebraska')) & (testDataset.metric1 != np.nan)]
这应该起作用:
np.nan == np.nan
是False
(请参见explanation),这就是您的方法不起作用的原因我还添加了
regex=False
,这将提高性能,并且na=False
这样您就不会因为意外类型而出错相关问题 更多 >
编程相关推荐