我有一个pandas数据框,其中包含我从URL解析的表:
dfs = pd.read_html('https://pythonprogramming.net/parsememcparseface/', header = 0)
for df in dfs:
print(df)
我已经隔离了一个名为Internet Points
的特定列:
df1 = df['Internet Points']
我想过滤搜索此列Internet Points > 1000
。我试过了:
if df1 > 10000:
print(df1)
然而,我收到一个错误:
ValueError:Series的真值是不明确的。使用a.empty
,a.bool()
,a.item()
,a.any()
或a.all()
。
答案 0 :(得分:0)
您可能正在寻找类似的东西
for _, val in df1.iteritems():
if val > 1000:
print(val)
或者您也可以使用方法map
df1.map(lambda x: x if x > 1000 else None)
使用df1 = df['Internet Points']
过滤掉列后,变量df1
变为pandas.core.series.Series
类型,基本上为Series。如果您使用df1 > 10000
过滤它,那么您将得到的另一个Series具有布尔值,因此您也可以执行以下操作:
print(df1[df1>10000])
如果要输出数组,也可以使用
print(df1[df1>10000].values)