Python怎么从dataframe中获取某一列中满足特定条件的所有行
时间: 2024-05-02 10:20:10 浏览: 12
你可以使用 Pandas 库中的 loc 函数实现获取某一列中满足特定条件的所有行。具体代码例子如下:
假设你想从 dataframe 中获取某一列名为 'column_name',并且该列中满足值等于特定值 val 的所有行,可以使用以下代码:
```python
result_df = df.loc[df['column_name'] == val]
```
其中,`df` 为原始的 dataframe 数据,`result_df` 为满足条件的所有行组成的新 dataframe。
相关问题
python从dataframe中取出列中特定行的值为1的列
可以使用 Pandas 库的 loc 方法和布尔索引来实现。假设要取出 DataFrame 中名为 column_name 的列中,值为 1 的所有行的数据,可使用以下代码:
```
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [0, 1, 1], 'C': [1, 0, 1]})
# 使用布尔索引筛选出符合条件的所有行
result = df.loc[df[column_name] == 1]
```
其中,df[column_name] 取出名为 column_name 的列,返回一个 Series 对象。该对象与一个值比较会返回一个布尔类型的 Series,其中符合条件的位置值为 True,不符合的为 False。使用该布尔数组来筛选出符合条件的行,即可得到一个新的 DataFrame,其中只有符合条件的行和全部列。
python dataframe中根据某列中的某值删除所在行
可以使用 Pandas 中的 drop 方法来删除包含某个特定值的行。假设你的 DataFrame 名称为 `df`,要删除的列名为 `col_name`,要删除的值为 `value`,则可以使用以下代码:
```python
df = df.drop(df[df[col_name] == value].index)
```
这行代码会找到所有 `col_name` 列中等于 `value` 的行,然后删除这些行,并返回一个新的 DataFrame。如果要修改原始的 DataFrame,可以将该行代码修改为:
```python
df.drop(df[df[col_name] == value].index, inplace=True)
```
这会直接修改原始的 DataFrame。