dataframe,如果列A取值的后面2个字符是“06”或者“09”,那么就删掉该行
时间: 2023-10-13 07:06:20 浏览: 67
pandas.DataFrame的pivot()和unstack()实现行转列
可以使用pandas库中的str属性和drop方法实现该需求,代码如下:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': ['abc06', 'def09', 'ghi07', 'jkl10'], 'B': [1, 2, 3, 4]})
# 删除符合条件的行
df.drop(df[df['A'].str[-2:].isin(['06', '09'])].index, inplace=True)
print(df)
```
输出结果为:
```
A B
2 ghi07 3
3 jkl10 4
```
解释一下代码:
1. 首先创建一个示例数据,其中列A的取值分别是"abc06"、"def09"、"ghi07"、"jkl10"。
2. 使用`str`属性提取列A取值的后两个字符,然后使用`isin`方法判断是否等于"06"或"09",返回一个布尔型的Series。
3. 使用这个布尔型Series作为索引,找到符合条件的行的位置,然后使用`drop`方法删除这些行。
4. 最后输出删除后的结果。
阅读全文