遍历熊猫数据框以生成列表-最有效的方法

我有以下格式的数据框(实际上是〜200,000行。其中〜20%是活动的-'Y',其余为'N'):

active  adtype           body      eng          first scan   id
N       Private Seller Car   Coupe  8cyl 4.7L     31/01/2016  SSE-AD-3469148
Y       Dealer: Near New     Coupe  12cyl 6.5L    31/01/2016  OAG-AD-12326299
N       Dealer: Used Car     Coupe  12cyl 6.5L    31/01/2016  OAG-AD-6834787

我正在创建一个ID列表,然后将其与某些网站抓取数据进行交叉检查以查找新项目:

database_ids = database_records['id'].tolist() #simple list of ad IDs from CSV
database_ids = set(database_ids)
database_dicts = database_records.to_dict(orient='records') #Converted to list of dicts  
newads = []
adscrape_ids = []

#Search database for existing ads. Append new ads to 'newads'
 for ad in adscrape:
     ad['last scan'] = date
     ad['active'] = 'Y'
     adscrape_ids.append(ad['id'])
     if ad['id'] not in database_ids:
         ad['first scan'] = date
         print 'new ad:',ad
         newads.append(ad)

我想通过将database_ids限制为仅仍处于活动状态('Y')的ID来加快此过程。是否有任何特定于熊猫的有效方法来执行此操作,或者我应该创建一个循环:

for row in database_dicts:
    if row['active'] == 'Y':
        database_ids.append(row['id'])
database_ids = set(database_ids)
阿米·塔沃里(Ami Tavory)

您可以更有效地执行此操作(我敢打赌,您将能够看到明显的速度差异):

set(database_dicts[database_dicts.active == 'Y']['id'].unique())
  • database_dicts[database_dicts.active == 'Y'] 过滤并保留所需的行。

  • .unique()将返回唯一值(在这种情况下,该id列的值)。

在一般情况下,你应该尝试做尽可能多的,而数据在数据帧-这是很多比循环和纯Python更高效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

存储数据的最有效方法

来自分类Dev

比较数据的最有效方法

来自分类Dev

遍历图片像素的最有效方法是什么

来自分类Dev

从列表中删除重复项的最有效方法

来自分类Dev

为Android应用创建列表的最有效方法

来自分类Dev

建立结合相关字段的列表的最有效方法

来自分类Dev

建立随机排列列表的最有效方法

来自分类Dev

平均列表最有效的方法<int>

来自分类Dev

从groupby返回列表的最有效方法

来自分类Dev

检查列表中值类型的最有效方法

来自分类Dev

建立随机排列列表的最有效方法

来自分类Dev

在MySQL中存储列表的最有效方法

来自分类Dev

删除列表中条目的最有效方法

来自分类Dev

确定列表是否为空的最有效方法

来自分类Dev

在 Python 中创建字典列表的最有效方法

来自分类Dev

Python:打印列表的最有效方法是什么?

来自分类Dev

将数据帧乘以向量的最有效方法

来自分类Dev

筛选wxGrid数据的最有效方法?

来自分类Dev

将数据帧乘以向量的最有效方法

来自分类Dev

在Pandas数据框上组织信息的最有效方法

来自分类Dev

多次查询数据库的最有效方法

来自分类常见问题

创建两个熊猫数据框列的字典的最有效方法是什么?

来自分类Dev

在熊猫数据框中排除索引行的最有效方法

来自分类Dev

熊猫对多个数据框列执行算术运算的最有效方法

来自分类Dev

用大量可能的值熊猫融化数据框的最有效方法

来自分类常见问题

搜索数据框中列表的每个元素的最有效方法

来自分类Dev

搜索数据框中列表的每个元素的最有效方法

来自分类Dev

重命名列表数据框中元素的最有效方法

来自分类Dev

在熊猫数据框中操作列表的有效方法

Related 相关文章

热门标签

归档