过滤Pandas Dataframe Python

时间:2017-12-02 15:16:26

标签: python pandas

我有一个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.emptya.bool()a.item()a.any()a.all()

1 个答案:

答案 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)