Python编写下面要求的代码不符合要求的数据为: 1)每条记录如果为NULL的字段数量大于等3; 2)“星级、评论数、评分”这三个字段有一个为NULL; 3)重复的记录,将重复的去掉; 请删除满足以上三个条件的记录,并打印每类不符合要求的记录的数量;
时间: 2024-03-06 22:47:33 浏览: 52
假设数据存储在一个名为 `data` 的 Pandas DataFrame 中,可以按照以下步骤进行处理:
```python
# 删除满足条件1、2、3的记录,并打印每类不符合要求的数量
# 统计每条记录中NULL的字段数量
null_counts = data.isnull().sum(axis=1)
# 统计符合条件1的记录数量
cond1_counts = (null_counts >= 3).sum()
# 统计符合条件2的记录数量
cond2_counts = data[['星级', '评论数', '评分']].isnull().any(axis=1).sum()
# 根据所有列判断是否为重复记录
duplicate_counts = data.duplicated().sum()
# 删除符合条件1、2、3的记录
data = data.dropna(subset=['星级', '评论数', '评分'], thresh=3)
data = data[null_counts < 3]
data = data.drop_duplicates()
# 打印每类不符合要求的记录的数量
print(f'符合条件1的记录数量:{cond1_counts}')
print(f'符合条件2的记录数量:{cond2_counts}')
print(f'重复的记录数量:{duplicate_counts}')
```
其中,第一步是统计每条记录中NULL的字段数量,第二步是统计符合条件1的记录数量,第三步是统计符合条件2的记录数量,第四步是根据所有列判断是否为重复记录。接下来,根据条件1、2、3分别使用 `dropna()` 方法删除记录,使用 `duplicated()` 方法删除重复记录。最后,使用 `print()` 方法打印每类不符合要求的记录的数量。
阅读全文