|
发表于 2024-3-5 21:16:22
|
显示全部楼层
从数据中移除了款式为1001和1003的行,因为它们在“数量”这一列中有超过3个非空的数据。
处理后的数据包括款式1002、1004和1005,这些款式的“数量”列中非空的数据没有超过3个。
以下是经过筛选的DataFrame内容:
代码:
- import pandas as pd
- # 从实际的CSV文件或其他数据源中加载DataFrame
- # df = pd.read_csv('your_file.csv')
- # 这里创建一个示例DataFrame来模拟用户提供的数据
- data = {
- '款式': [1001, 1001, 1001, 1001, 1001, 1002, 1002, 1002, 1002, 1003, 1003, 1003, 1003, 1004, 1004, 1004, 1004, 1005, 1005, 1005],
- '颜色': ['红', '蓝', '绿', '黄', '黑', '红', '蓝', '绿', '黑', '红', '蓝', '绿', '黑', '红', '蓝', '绿', '黑', '红', '蓝', '绿'],
- '数量': [50, 80, 2, None, None, 100, None, None, 50, 70, 80, 65, 40, None, 50, None, None, 1001, None, 60]
- }
- # 创建DataFrame
- df = pd.DataFrame(data)
- # 筛选出数量非空的行
- df_not_null = df[df['数量'].notnull()]
- # 统计每个款式数量非空的次数
- count_non_null = df_not_null.groupby('款式').size()
- # 找出数量非空次数超过3次的款式
- to_remove = count_non_null[count_non_null > 3].index
- # 删除这些款式的所有行
- df_filtered = df[~df['款式'].isin(to_remove)]
- # 输出处理后的DataFrame
- print(df_filtered)
复制代码 |
|