pandas去除一列中值为0的数据
时间: 2023-02-28 12:46:52 浏览: 115
你可以使用Pandas的DataFrame对象的`boolean indexing`来实现这个功能。首先你需要选择出那一列的数据,然后判断该数据是否不等于0,最后将符合条件的数据组成一个新的DataFrame对象。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例数据
df = pd.DataFrame({'col1': [1, 2, 3, 0, 4],
'col2': [5, 6, 0, 8, 9]})
# 选择col1列的数据
col1 = df['col1']
# 判断col1不等于0
condition = col1 != 0
# 符合条件的数据组成一个新的DataFrame对象
result = df[condition]
```
现在,`result`变量中就是去除了`col1`列中值为0的数据的新DataFrame对象了。
相关问题
pandas删除一列中值为0的行
你可以使用`pandas`库中的`drop()`方法来删除列中值为0的行。下面是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'col1': [1, 2, 3, 0, 5],
'col2': [0, 2, 0, 4, 5]}
df = pd.DataFrame(data)
# 删除col1列中值为0的行
df = df.drop(df[df['col1'] == 0].index)
# 打印结果
print(df)
```
在这个例子中,我们创建了一个包含两列的数据帧`df`。然后,我们使用`drop()`方法和布尔索引来删除`col1`列中值为0的行。最后,我们打印出结果。
将pandas数据中值为0的行删除
可以使用pandas库中的drop函数,设置条件为行中所有元素均为0,然后将该行删除。
代码示例:
``` python
import pandas as pd
# 创建一个DataFrame示例
df = pd.DataFrame({'A': [1, 2, 3], 'B': [0, 0, 4], 'C': [0, 5, 6]})
# 将所有元素均为0的行删除
df = df.drop(df[(df == 0).all(axis=1)].index)
print(df)
```
该代码会输出删除后的DataFrame,输出结果如下:
```
A B C
0 1 0 0
1 2 0 5
```
其中第一行被删除了。
阅读全文