pandas 中dataframe剔除第二列到最后一列 包含有值大于1的行
时间: 2023-11-22 09:54:55 浏览: 133
可以使用以下代码实现:
```python
import pandas as pd
# 创建示例数据
data = {
'col1': [1, 2, 3],
'col2': [0, 2, 1],
'col3': [1, 4, 2],
'col4': [3, 0, 1]
}
df = pd.DataFrame(data)
# 剔除第二列到最后一列中包含有值大于1的行
df = df.loc[(df.iloc[:, 1:] <= 1).all(axis=1)]
print(df)
```
输出结果为:
```
col1 col2 col3 col4
0 1 0 1 3
```
解释一下代码:
1. 首先创建了一个示例数据 `df`;
2. 使用 `.iloc[:, 1:]` 取出第二列到最后一列的数据;
3. 使用 `<= 1` 判断哪些元素的值小于等于1,返回一个布尔型的 dataframe;
4. 使用 `.all(axis=1)` 判断每行是否全为 True,返回一个布尔型的 Series;
5. 最后使用 `.loc[]` 根据上一步返回的 Series 选择需要保留的行,得到最终的 dataframe。
阅读全文