从dataframe A中 找出 a, b,c 列不为空,其他列为空的数据, 存入到abc表中; 找出b,c列为不为空, 其他列为空的数据,存入到bc表中
时间: 2024-09-30 17:09:31 浏览: 32
DataFrame中去除指定列为空的行方法
在Pandas中,你可以通过条件筛选来达到这个目标。首先,假设`df_A`是你的DataFrame,我们可以按步骤创建两个新的DataFrame:
1. 为了创建包含a、b、c三列非空值的新DataFrame `abc_table`,可以这样做:
```python
import pandas as pd
# 确保列名正确,例如 a, b, c
mask = (df_A[['a', 'b', 'c']] != '').all(axis=1)
abc_table = df_A.loc[mask, ['a', 'b', 'c']]
```
这将选择所有在'a', 'b', 'c'列上都没有缺失值的行。
2. 类似地,对于只包含b、c两列非空值的新DataFrame `bc_table`,可以做:
```python
mask = (df_A[['b', 'c']] != '').all(axis=1) & ~(mask & mask['a'])
bc_table = df_A.loc[mask, ['b', 'c']]
```
这里我们添加了一个额外的条件排除了'a'列有非空值的情况,因此结果仅包含'b'和'c'非空的行。
阅读全文