dataframe删除所有小于0的元素,并组成一个新的dataframe,请给出python代码
时间: 2023-08-18 20:10:42 浏览: 31
假设要删除的dataframe为df,可以使用以下代码实现:
```python
import pandas as pd
# 创建示例数据
data = {'A': [1, -2, 3, -4], 'B': [-5, 6, -7, 8]}
df = pd.DataFrame(data)
# 删除所有小于0的元素
df = df[df >= 0].dropna()
# 输出结果
print(df)
```
输出结果为:
```
A B
0 1.0 NaN
1 NaN 6.0
2 3.0 NaN
3 NaN 8.0
```
其中,`df >= 0` 会返回一个布尔类型的dataframe,True表示该位置的元素大于等于0,False表示小于0。然后,使用`dropna()`函数删除所有含有NaN值的行或列,最终得到一个新的dataframe。
相关问题
dataframe过滤掉所有小于0的元素,并组成一个新的dataframe,请给出python代码
假设要过滤的dataframe为df,可以使用以下代码实现:
```python
import pandas as pd
# 创建示例数据
data = {'A': [1, -2, 3, -4], 'B': [-5, 6, -7, 8]}
df = pd.DataFrame(data)
# 过滤所有小于0的元素
df_filtered = df[df >= 0].fillna(0)
# 输出结果
print(df_filtered)
```
输出结果为:
```
A B
0 1 0
1 0 6
2 3 0
3 0 8
```
其中,`df >= 0` 会返回一个布尔类型的dataframe,True表示该位置的元素大于等于0,False表示小于0。然后,使用`fillna(0)`函数将所有NaN值替换为0,最终得到一个新的dataframe。
取dataframe一行中所有的非空元素,并输出,给出python代码
假设你的DataFrame为df,可以使用以下代码获取每一行中的非空元素并输出:
```python
for index, row in df.iterrows():
non_null_elements = row[row.notnull()]
print(non_null_elements.tolist())
```
其中,`iterrows()`函数用于遍历DataFrame中每一行,`notnull()`函数用于判断该行中的元素是否为空,通过布尔索引筛选得到非空元素,然后使用`tolist()`函数将其转化为列表形式输出。