【发布时间】:2020-10-06 14:32:17
【问题描述】:
有没有办法在 pandas DataFrame 中使用布尔索引方法?
例如:
import pandas
def filter_func(v) -> bool:
return v == 'asd'
def main():
df_test = pandas.DataFrame(
[
['sd'], ['asd'], ['sdf']
],
columns=["col-a"]
)
#### ERROR: This next line calls filter_func with all contents of column 'col-a'
result = df_test[df_test['col-a'] == filter_func(df_test['col-a'])]
if __name__ == '__main__':
main()
在上面的示例中,我只想保留那些filter_func 将返回True 的值。 result 应该包含单行数据框,但我得到的是空数据框。
我了解不是为每一行执行filter_func,而是只执行一次。
有没有办法为每一行调用它?
在这种情况下,我应该将apply 或map 用于Series 吗?
或者还有其他方法吗?
【问题讨论】: