在Dataframe Python中筛选条件
我有一个pandas数据框,其中有一个我从URL解析的表:在Dataframe Python中筛选条件,python,pandas,Python,Pandas,我有一个pandas数据框,其中有一个我从URL解析的表: dfs = pd.read_html('https://pythonprogramming.net/parsememcparseface/', header = 0) for df in dfs: print(df) 我已经隔离了一个名为互联网点的专栏: df1 = df['Internet Points'] 我想在本栏中搜索互联网点数>1000。我试过: if df1 > 10000: print(df1) 但是,
dfs = pd.read_html('https://pythonprogramming.net/parsememcparseface/', header = 0)
for df in dfs:
print(df)
我已经隔离了一个名为互联网点的专栏:
df1 = df['Internet Points']
我想在本栏中搜索互联网点数>1000
。我试过:
if df1 > 10000:
print(df1)
但是,我得到一个错误:
ValueError:序列的真值不明确。使用a.empty
,a.bool()
,a.item()
,a.any()
或a.all()
您可能正在寻找类似的东西
for _, val in df1.iteritems():
if val > 1000:
print(val)
或者您也可以使用方法map
df1.map(lambda x: x if x > 1000 else None)
使用df1=df['internetpoints']
筛选出列后,变量df1
将成为一个pandas.core.series.series
类型,它基本上是一个。如果您使用df1>10000
对其进行过滤,您将得到另一个布尔值,因此您还可以执行以下操作:
print(df1[df1>10000])
如果要输出数组,还可以使用
print(df1[df1>10000].values)
尝试df1[df1>10000]
一个简单的布尔索引,该索引可能是