pandas删除某个特征为0的行
时间: 2023-12-14 16:39:31 浏览: 73
Pandas操作案例数据
可以使用 Pandas 的布尔索引(Boolean indexing)来删除某个特征为0的行。具体步骤如下:
假设要删除名为 feature1 的特征为0的行:
1. 使用 loc 函数选择名为 feature1 的列,然后判断每个元素是否等于0,生成一个布尔类型的 Series:
```
bool_series = df.loc[:, 'feature1'] != 0
```
2. 将该 Series 用作 df.loc 的第一个参数,以选择符合条件的行:
```
df = df.loc[bool_series, :]
```
3. 最后,df 中特征为0的行已经被删除了。
完整代码如下:
```
import pandas as pd
# 生成示例数据
data = {'feature1': [1, 0, 3, 0, 5],
'feature2': [0.1, 0.2, 0.3, 0.4, 0.5]}
df = pd.DataFrame(data)
# 删除 feature1 为0的行
bool_series = df.loc[:, 'feature1'] != 0
df = df.loc[bool_series, :]
print(df)
```
输出:
```
feature1 feature2
0 1 0.1
2 3 0.3
4 5 0.5
```
阅读全文