提高 Pandas DataFrame 上的行追加性能

2023-11-25

我正在运行一个基本脚本,该脚本循环嵌套字典,从每个记录中获取数据,并将其附加到 Pandas DataFrame 中。数据看起来像这样:

data = {"SomeCity": {"Date1": {record1, record2, record3, ...}, "Date2": {}, ...}, ...}

它总共有几百万条记录。脚本本身如下所示:

city = ["SomeCity"]
df = DataFrame({}, columns=['Date', 'HouseID', 'Price'])
for city in cities:
    for dateRun in data[city]:
        for record in data[city][dateRun]:
            recSeries = Series([record['Timestamp'], 
                                record['Id'], 
                                record['Price']],
                                index = ['Date', 'HouseID', 'Price'])
            FredDF = FredDF.append(recSeries, ignore_index=True)

然而,这运行得非常慢。在我寻找一种并行化方法之前,我只是想确保我没有错过一些明显的东西,这些东西会让它执行得更快,因为我对 Pandas 还很陌生。


我还使用了数据框append循环内的函数,我很困惑它的运行速度有多慢。

基于本页上的正确答案,对于那些遭受痛苦的人来说,这是一个有用的例子。

Python版本:3

熊猫版本:0.20.3

# the dictionary to pass to pandas dataframe
d = {}

# a counter to use to add entries to "dict"
i = 0 

# Example data to loop and append to a dataframe
data = [{"foo": "foo_val_1", "bar": "bar_val_1"}, 
       {"foo": "foo_val_2", "bar": "bar_val_2"}]

# the loop
for entry in data:

    # add a dictionary entry to the final dictionary
    d[i] = {"col_1_title": entry['foo'], "col_2_title": entry['bar']}
    
    # increment the counter
    i = i + 1

# create the dataframe using 'from_dict'
# important to set the 'orient' parameter to "index" to make the keys as rows
df = DataFrame.from_dict(d, "index")

“from_dict”函数:https://pandas.pydata.org/pandas-docs/stable/ generated/pandas.DataFrame.from_dict.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提高 Pandas DataFrame 上的行追加性能 的相关文章

  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • Spark - 读取带有引号的 csv 文件

    我有一个 CSV 文件 其中的数据包含在双引号 中 0001 A 001 2017 01 01 12 0001 B 002 2017 01 01 13 我只想读取纯数据 没有 符号 spark read option encoding en
  • Android Room 一对多关系

    我正在尝试建立一对多关系 我在线检查了各种文章和教程 但所有示例都显示一个表与另一个表具有一对多关系 在我的要求中 我有两个表与另一个表具有一对多关系 检查下图 学生表有来自班级和学校表的 FK 大多数示例通过班级 学生或学校 学生解释一对
  • 此表单不安全自动填充仅在 Chrome 中关闭

    I get this error when trying to fill the form from chrome in my website 这是我提交表格后的结果 这种情况在任何其他浏览器中都不会发生 我需要做什么才能确保表单安全 我已
  • glDrawArrays 与 glDrawElements

    好吧 我仍然在努力让它发挥作用 我的代码的重要部分是 def init self vertices normals triangles self bufferVertices glGenBuffersARB 1 glBindBufferAR
  • Android:跟踪鼠标指针移动

    假设我使用通用鼠标 是否可以在android中跟踪鼠标指针的X和Y坐标 你需要一个OnGenericMotionListener OnGenericMotion MotionEvent me if me getToolType 0 Moti
  • 如何在Python脚本运行时操作图形?

    介绍 因为我来自matlab 我习惯了交互式界面 其中脚本可以在运行时更新图形 在处理过程中 每个图形都可以调整大小甚至关闭 这可能意味着每个图形都在自己的线程中运行 这显然不是这样的绘图库 IPython可以使用magic命令模仿Matl
  • Laravel 无法在 404 错误页面查看用户是否登录

    我创建了一个自定义 404 错误页面 并使用 app layout 来包装它 但这很奇怪 因为当我收到 404 错误页面时 即使我已登录 也会看到登录和注册链接 这是为什么 update 当我登录我的页面并写入不存在的路由时 我得到带有扩展
  • 使用 OpenCV 和 Python 查找数独网格

    我正在尝试使用 OpenCV 检测数独谜题中的网格 但我在最后一步中遇到了麻烦 我猜 我正在做的是 对图像进行下采样 Blur it 应用高通滤波器 双边 使用自适应阈值对图像进行阈值处理 一些膨胀和腐蚀 所有这些给了我以下图像 从现在开始
  • 无法找到哈希字符串“android-25”的目标

    我有 Android Studio 2 2 我正在尝试打开一个项目 但收到错误 无法找到带有哈希字符串 android 25 的目标 在错误消息下方 我看到一个链接 安装缺少的平台和同步项目 如果我单击此链接 我会收到另一个错误 其中显示
  • 使用 VBA 将条件格式应用于一系列单元格

    我想知道如何访问条件格式中标题为 适用于 的列并输入我自己的条件 我提供了一个屏幕截图以供更好的参考 我在条件格式中添加语法的代码是 With Selection FormatConditions Delete FormatConditio
  • 如何解析 Zend URL 中的参数?

    我正在尝试从 ZF REST URL 中提取 GET 参数 这不是当前请求 我不想调用 URL 或执行路由 我只需要参数 我正在寻找像 parse url 这样的实用函数 但适用于 Zend REST 格式 有没有 或者我必须重新发明轮子
  • 如何将我的 swift 1.2 项目迁移到 2.0?

    我有一个项目是在 swift 推出时开发的 但最近 Apple 推出了新版本的 swift 2 0 和 xCode 7 0 那么我如何将我的项目从 swift 1 2 迁移到 2 0 呢 在新的 Xcode 7 beta 中 转到编辑菜单
  • 为什么挑战-响应方法对于忘记密码来说不是一个糟糕的解决方案?

    我的公司正在开发在线人力资源和薪资应用程序 其中安全访问至关重要 我清楚如何锁定大多数身份验证 授权过程 但 忘记密码 页面除外 我最初的计划是要求用户输入电子邮件地址和对先前选择 输入的质询问题的答复 并将临时密码邮寄到列出的电子邮件 假
  • 如何解决:npm run build/dev: 缺少脚本?

    我正在尝试运行节点 但由于某种原因 节点的本地 npm 安装无法正常工作 包裹在那里 npm run dev npm ERR Darwin 15 4 0 npm ERR argv usr local Cellar node 5 6 0 bi
  • 什么取代了 .Net Core 中的 WCF?

    我习惯于创建 Net Framework 控制台应用程序并公开Add int x int y 使用类库 Net Framework 从头开始通过 WCF 服务实现功能 然后 我使用控制台应用程序在服务器内代理调用此函数 但是 如果我使用控制
  • 如何从 ASP.NET MVC 中的基本控制器连接通用代码

    我的 ASP NET MVC 应用程序是一个更大的 ColdFusion 应用程序的一小部分 该应用程序很快就会被完全替换 我通过 cookies 从 ColdFusion 部分传递一些参数 并且需要在运行每个操作之前检查此信息 如果信息丢
  • 将外部 jar 设置为 hadoop 类路径

    我正在尝试将外部 jar 设置为 hadoop 类路径 但到目前为止还没有运气 我有以下设置 hadoop 版本Hadoop 2 0 6 alpha 颠覆https git wip us apache org repos asf bigto
  • UIStoryboard 找不到带有标识符的视图控制器

    我有一个 ios 应用程序 使用带有一堆视图控制器的故事板 After Adding a new ViewController and configured the identify Storyboard ID 我尝试使用以下代码实例化新的
  • Vim - 删除直到行中最后一次出现字符

    我正在想办法dt or df字符串中最后一次出现的字符 例如 假设我有以下行 foo not relevant text bar If I f df 我预计会得到foo relevant text bar但我想得到foo bar Using
  • 提高 Pandas DataFrame 上的行追加性能

    我正在运行一个基本脚本 该脚本循环嵌套字典 从每个记录中获取数据 并将其附加到 Pandas DataFrame 中 数据看起来像这样 data SomeCity Date1 record1 record2 record3 Date2 它总