pandas-filter-if-colunna--0-or-column-b-=-1
To filter a pandas dataframe based on column 'a' being greater than zero or column 'b' being equal to one, you can use the pipe operator '|' to combine two conditions into a single boolean mask.
Here's an example code snippet to filter a dataframe 'df' using this condition:
import pandas as pd
# create example dataframe
df = pd.DataFrame({'a': [-1, 0, 1, 2, 3], 'b': [0, 1, 0, 1, 0]})
# filter dataframe using boolean mask
mask = (df['a'] > 0) | (df['b'] == 1)
filtered_df = df[mask]
# print filtered dataframe
print(filtered_df)
This will output:
a b
1 0 1
2 1 0
3 2 1
4 3 0
Explanation:
- The boolean mask is created by combining two conditions using the '|' operator:
- df['a'] > 0: this checks if each element in column 'a' is greater than zero
- df['b'] == 1: this checks if each element in column 'b' is equal to one
- The resulting mask is a boolean array with the same length as the dataframe, where each element is True if the corresponding row satisfies either of the two conditions.
- The mask is passed to the dataframe indexing operator '[]' to select only the rows that satisfy the condition.
- The resulting filtered dataframe contains only the rows where either column 'a' is greater than zero, or column 'b' is equal to one.
原文地址: https://www.cveoy.top/t/topic/l5f 著作权归作者所有。请勿转载和采集!