pd.DataFrame()快速筛选数据

pd.DataFrame()快速筛选数据,第1张

pd.DataFrame()快速筛选数据

这里写自定义目录标题
  • 问题场景
  • 实现方法

问题场景

当需要对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,不需要额外做字段对应,高效而且避免对应出错。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存