pandas 去除某一列为空和为0
时间: 2023-08-17 11:06:07 浏览: 100
要去除某一列为空或为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的行。
相关问题
pandas去掉第一列的简便方法
以下是两种pandas去掉第一列的简便方法:
1. 指定第一列为index:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv', index_col=0)
# 去掉第一列
data = data.iloc[:, 1:]
# 打印结果
print(data)
```
2. 指定无表头:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv', header=None)
# 去掉第一列
data = data.iloc[:, 1:]
# 打印结果
print(data)
```
在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 数据框。
阅读全文