- 问题场景
- 实现方法
当需要对excel数据根据不同的条件进行筛选,可以利用pandas快速实现。例如筛选出一张表格里来自不同网站的数据,每个网站的数据不超过20条。示例如下:
实现方法import pandas as pd def select_data(): raw_df = pd.read_excel('./check_data/原始数据.xlsx') selected_df = pd.Dataframe(columns=raw_df.columns.values) # 直接获取原Dataframe列标签 website_dict = {} for ind, row in raw_df[:10].iterrows(): website_id = row['websiteId'] if website_id not in website_dict.keys(): website_dict[website_id] = 1 selected_df = selected_df.append(row) # 直接添加一条数据 elif website_dict[website_id] < 20: website_dict[website_id] += 1 selected_df = selected_df.append(row) selected_df.to_excel('./check_data/筛选数据.xlsx') if __name__ == '__main__': select_data()
该方法不需要新建Dataframe的列索引,同时在添加数据时直接添加原Series,不需要额外做字段对应,高效而且避免对应出错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)