Dat*_*oob 6 python filtering pandas
我正在使用 Python 和 Pandas。我有一个df与此类似的工作:
+--------+--------+-------+
| Col1 | Col2 | Col3 |
+--------+--------+-------+
| Team 1 | High | Pizza |
| Team 1 | Medium | Sauce |
| Team 1 | Low | Crust |
+--------+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我想过滤df以便我只能从Col2.
这是我在没有运气的情况下尝试过的
df = df.loc[df['Col2'] == 'High' | (df['Col2'] == 'Medium')]
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
cannot compare a dtyped [bool] array with a scalar of type [bool]
Run Code Online (Sandbox Code Playgroud)
任何想法如何使这项工作以及该错误意味着什么?
Ron*_*nio 52
这也有效,更pythonic
country_list = ['brazil','poland','russia','countrydummy','usa']
filtered_df = df[df['Country Name'].isin(country_list)]
print(filtered_df )
Run Code Online (Sandbox Code Playgroud)
Ste*_*fan 13
您缺少一对括号来获取|运算符两侧的可比较项- 其优先级高于== (参见文档):
df = df.loc[(df['Col 2'] == 'High') | (df['Col2'] == 'Medium')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27441 次 |
| 最近记录: |