DR
大熊猫相当于
select * from table where column_name = some_value
是
table[table.column_name == some_value]
多种条件:
table[(table.column_name == some_value) | (table.column_name2 == some_value2)]
或
table.query('column_name == some_value | column_name2 == some_value2')
代码示例
import pandas as pd
# Create data set
d = {'foo':[100, 111, 222],
'bar':[333, 444, 555]}
df = pd.DataFrame(d)
# Full dataframe:
df
# Shows:
# bar foo
# 0 333 100
# 1 444 111
# 2 555 222
# Output only the row(s) in df where foo is 222:
df[df.foo == 222]
# Shows:
# bar foo
# 2 555 222
在上面的代码中是行
df[df.foo == 222]
根据列值给出行,
222
在这种情况下。
还可能出现多种情况:
df[(df.foo == 222) | (df.bar == 444)]
# bar foo
# 1 444 111
# 2 555 222
但在那一点上,我建议使用
query
函数,因为它不那么冗长,并且产生相同的结果:
df.query('foo == 222 | bar == 444')