dataframe中删除不满足条件的整行数据
时间: 2023-02-08 18:09:39 浏览: 49
在 Pandas 中,可以使用 `df[condition]` 或 `df.loc[condition]` 来筛选出满足条件的行,再赋值给原来的 DataFrame。
例如,删除 age 列小于 30 的行:
```
df = df[df.age >= 30]
```
或
```
df = df.loc[df.age >= 30]
```
也可以使用 drop()
```
df = df.drop(df[df.age < 30].index, axis=0)
```
在上面的示例中,`df.age >= 30` 是条件,它会返回一个布尔值的 DataFrame,只有满足条件的行为 True,其余行为 False。然后将这个布尔值 DataFrame 与原来的 DataFrame 相乘,就会得到筛选出来的结果。
相关问题
dataframe中删除整行
可以使用Pandas中的drop()函数来删除整行。
示例:
```
df = df.drop(index=2) # 删除第2行
df = df.drop(index=[1,3]) # 删除第1行和第3行
```
也可以使用标签或布尔索引来删除整行:
```
df = df[df.column_name != 'value']
df = df[~df.column_name.isin(['value1','value2'])]
```
注意:如果直接在原DataFrame上删除整行,那么会对原DataFrame进行修改,如果想要保留原数据,可以赋值给新的DataFrame.
删除pandas.core.frame.DataFrame中已知行索引值的整行数据
你可以使用 `drop` 方法来删除已知行索引值的整行数据,例如:
``` python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['row1', 'row2', 'row3'])
# 删除行索引值为 'row2' 的整行数据
df = df.drop('row2')
print(df)
```
输出结果为:
```
A B C
row1 1 4 7
row3 3 6 9
```
在这个例子中,我们使用 `drop` 方法删除了行索引值为 'row2' 的整行数据,并将修改后的 DataFrame 重新赋值给了变量 `df`。