使用.loc来设置一个可对齐的帧并没有什么本质上的慢,尽管它确实要经过一些代码来覆盖很多情况,所以可能在一个紧密的循环中是不理想的。仅供参考,本例与第二例略有不同。In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: from pandas import DataFrame

In [4]: df = DataFrame(1.,index=list('abcdefghij'),columns=[0,1,2])

In [5]: df

Out[5]:

0 1 2

a 1 1 1

b 1 1 1

c 1 1 1

d 1 1 1

e 1 1 1

f 1 1 1

g 1 1 1

h 1 1 1

i 1 1 1

j 1 1 1

[10 rows x 3 columns]

In [6]: df2 = DataFrame(0,index=list('afg'),columns=[1,2])

In [7]: df2

Out[7]:

1 2

a 0 0

f 0 0

g 0 0

[3 rows x 2 columns]

In [8]: df.loc[df2.index,df2.columns] = df2

In [9]: df

Out[9]:

0 1 2

a 1 0 0

b 1 1 1

c 1 1 1

d 1 1 1

e 1 1 1

f 1 0 0

g 1 0 0

h 1 1 1

i 1 1 1

j 1 1 1

[10 rows x 3 columns]

这是另一种选择。它可能适合也可能不适合您的数据模式。如果更新(你的小帧)是非常独立的,这将起作用(你没有更新大帧,然后挑选一个新的子帧,然后更新,等等。-如果这是你的模式,那么使用.loc是正确的)。

不要更新大框架,而是使用大框架中的列更新小框架,例如:In [10]: df = DataFrame(1.,index=list('abcdefghij'),columns=[0,1,2])

In [11]: df2 = DataFrame(0,index=list('afg'),columns=[1,2])

In [12]: needed_columns = df.columns-df2.columns

In [13]: df2[needed_columns] = df.reindex(index=df2.index,columns=needed_columns)

In [14]: df2

Out[14]:

1 2 0

a 0 0 1

f 0 0 1

g 0 0 1

[3 rows x 3 columns]

In [15]: df3 = DataFrame(0,index=list('cji'),columns=[1,2])

In [16]: needed_columns = df.columns-df3.columns

In [17]: df3[needed_columns] = df.reindex(index=df3.index,columns=needed_columns)

In [18]: df3

Out[18]:

1 2 0

c 0 0 1

j 0 0 1

i 0 0 1

[3 rows x 3 columns]

并在需要时将所有内容连接在一起(它们同时保存在一个列表中,或者在下面查看我的注释,这些子帧在创建时可以移动到外部存储,然后在这个连接步骤之前读回)。In [19]: pd.concat([ df.reindex(index=df.index-df2.index-df3.index), df2, df3]).reindex_like(df)

Out[19]:

0 1 2

a 1 0 0

b 1 1 1

c 1 0 0

d 1 1 1

e 1 1 1

f 1 0 0

g 1 0 0

h 1 1 1

i 1 0 0

j 1 0 0

[10 rows x 3 columns]

这种模式的优点在于,它很容易扩展到使用实际的数据库(或者更好的是HDFStore),实际存储“数据库”,然后根据需要创建/更新子帧,然后在完成时写入新的存储。

我一直都在使用这种模式,尽管实际上是面板。对数据的一个子集执行计算,并将每个子集写入一个单独的文件

最后,将它们全部读入和concat(在内存中),并写出一个巨大的新文件。concat步骤可以在内存中一次完成,或者如果是真正的大型任务,那么可以迭代完成。

我可以使用多个进程来执行我的计算,并将每个单独的面板分别写入一个文件,因为它们都是完全独立的。唯一依赖的部分是concat。

这本质上是一个map reduce模式。

pandas将某列复制到另一个表_使用pandas将列从一个数据帧复制到另一个数据帧的最快方法?...相关推荐

  1. sql server复制表_具有超过246列的表SQL Server复制

    sql server复制表 问题 (Problem) In our environment we use SQL Server merge replication to replicate data ...

  2. excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...

    作者:汪汪家的宝贝 链接:https://www.jianshu.com/p/c8ae6852f1da 前言 在日常工作过程中,我们有可能需要把多个Excel工作簿的内容汇总到一张Excel工作表中. ...

  3. mysql中判断一列在另一列中没有_Excel中判断一个表中的某一列的数据在另一列中是否存在...

    Go - template 常用方法详解 及 注意事项 Go template包下面有两个函数可以创建模板实例 func New(name string) *Template func ParseFi ...

  4. sql 脚本编写之路 常用语句(一) 1.用一个表中的某一列更新另外一个表的某些列:...

    for ACCESS 数据库:update a, b set a.name=b.name1 where a.id=b.idfor SQL Server 数据库: update a set a.name ...

  5. 易语言mysql清空一个表_易语言高级表格清空.doc

    易语言高级表格清空 篇一:表格高级实用实解 1.编辑技巧 2.单元格内容的合并 3.条件显示 4.自定义格式 5.绘制函数图象 6.自定义函数 7.矩阵计算 8.自动切换输入法 9.批量删除空行 10 ...

  6. excel怎么设置一个按钮就一点就生成一个表_条码生成软件如何批量生成DPD条码...

    之前有介绍过关于DPD条码的编码方式,校验算法,制作方法等等信息,今天主要给大家介绍一下如何用条码生成软件批量生成DPD条码.以Excel表为例,批量导入Excel表数据批量生成DPD条码. 1.数据 ...

  7. 表格中建一个按钮_没想到手机还有扫描功能,纸质表格一键电子化,看完快去试试...

    当我们在生活中或者工作中,需要把书面上的表格变成电子档,也许很多人都会对照着表格手动制作,这样就太浪费时间了. 其实在我们的手机中就有扫描功能,可以一键将纸质表格变成电子档,这样可以省去大量时间,大大 ...

  8. mysql查询结果作为一个表_例题:数据库查询结果作为一个表

    假如有两个表 表1:product (productID,productName) 表2:consume (productID,nums)  //nums表示对应的产品的销量 问题:列出每个产品ID, ...

  9. java当前日期加一个月_用代码实现使当前日期 Date型的数据增加一个月

    展开全部 Calendar cal = Calendar.getInstance(); //下面的就是把当前日期加一个月 cal.add(Calendar.MONTH, 1) SimpleDateFo ...

最新文章

  1. mysql有关权限的表都有哪几个
  2. hibernate xml配置文件
  3. 前端学习(2449):发布文章组件
  4. 命名空间跟作用域是什么关系_魏如萱许光汉首次合唱新歌《什么跟什么有什么关系》_娱乐频道...
  5. BZOJ4415: [Shoi2013]发牌
  6. 持久化存储-对象序列化(摘自网络)
  7. 如何安装Eclipse WTP插件
  8. Unity学习篇之txt文本文档的多种读写方式
  9. 期货交易中期货公司和柜台的基础知识
  10. Cluster04 - Ceph概述 部署Ceph集群 Ceph块存储
  11. linux pwm控制蜂鸣器 滴滴_第七章----pwm蜂鸣器
  12. 解惑:NFC手机怎样轻松读取银行卡信息?
  13. sql2008属于mysql吗_SQL Server 2008 属于( )数据库系统。
  14. GPON学习总结--gemport mapping
  15. hadoop2 hdfs 垃圾箱简介
  16. matlab在线性代数中的应用开题报告,矩阵应用开题报告.doc
  17. 树莓派ubuntu换源
  18. 检测网站速度和安全性的方法
  19. @Repository注解的作用及含义
  20. 如何在html设计页面做超链接,网页设计超链接怎么弄 网页设计里面的返回超链接怎么弄啊...

热门文章

  1. java web不用框架_初学javaweb,远离各自框架
  2. android将activity打成jar包供第三方调用,把Activity打包成jar供其App使用
  3. java语句电脑定时关机_月光软件站 - 编程文档 - Java - windows定时关机程序
  4. Halcon 一维测量
  5. 深入理解Java-final关键字
  6. if--(else)语句,getchar()和putchar()、、||、!逻辑运算符
  7. Linux命令解释之vim
  8. Linux 内核里的数据结构——基数树
  9. 论文趣读:人工智能里程碑?回顾2015年登上Nature的DQN(全文翻译+批注)
  10. 如何开启MySQL的慢查询日志