pandas 去除某一列为空和为0
时间: 2023-08-17 09:06:07 浏览: 51
要去除某一列为空或为0的行,你可以使用pandas的`dropna()`和`query()`方法。下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 0, 35],
'City': ['New York', '', 'Paris']}
df = pd.DataFrame(data)
# 去除某一列为空或为0的行
filtered_df = df.dropna(subset=['Age']).query('Age != 0')
print(filtered_df)
```
在上面的代码中,我们首先创建了一个包含Name、Age和City列的DataFrame。然后,我们使用`dropna()`方法并指定subset参数为['Age'],这样可以删除Age列为空的行。接下来,我们使用`query()`方法并传递'Age != 0'的条件来过滤掉Age列等于0的行。最后,我们打印出筛选后的DataFrame`filtered_df`。
运行上述代码将输出以下结果:
```
Name Age City
0 Alice 25 New York
2 Charlie 35 Paris
```
通过这种方式,你可以轻松地去除pandas DataFrame中某一列为空或为0的行。
相关问题
dataframe去除a列=0的行和b列为空的行
你可以使用下面的代码来去除a列等于0和b列为空的行:
```python
import pandas as pd
# 读取数据文件
df = pd.read_csv('data.csv')
# 去除a列等于0和b列为空的行
df = df[(df['a'] != 0) & (df['b'].notna())]
# 输出处理后的数据
print(df)
```
在这个代码中,我们使用了 `notna()` 方法来检查b列是否为空,使用 `!=` 操作符来检查a列是否等于0。这样,我们就可以删除a等于0和b为空的行,并得到处理后的数据。
在excel使用pandas,去除所有合同号为空的行
可以使用 Pandas 中的 `dropna` 方法来去除所有合同号为空的行。下面是一个示例代码,假设你的 excel 文件名为 `data.xlsx`,合同号所在的列为 `contract_number`:
```python
import pandas as pd
# 读取 excel 文件
df = pd.read_excel('data.xlsx')
# 去除合同号为空的行
df = df.dropna(subset=['contract_number'])
# 输出处理后的数据
print(df)
```
这样,你就可以得到去除合同号为空的行后的 Pandas 数据框。