我有一个pandas数据帧:

a = pd.DataFrame(rand(5,6)*10, index=pd.DatetimeIndex(start='2005', periods=5, freq='A'))

a.columns = pd.MultiIndex.from_product([('A','B'),('a','b','c')])

我想从a中减去a [‘2005’]的行.要做到这一点,我试过这个:

In [22]:

a - a.ix['2005']

Out[22]:

A B

a b c a b c

2005-12-31 0 0 0 0 0 0

2006-12-31 NaN NaN NaN NaN NaN NaN

2007-12-31 NaN NaN NaN NaN NaN NaN

2008-12-31 NaN NaN NaN NaN NaN NaN

2009-12-31 NaN NaN NaN NaN NaN NaN

这显然不起作用,因为大熊猫正在进行操作时排列索引.这有效:

In [24]:

pd.DataFrame(a.values - a['2005'].values, index=a.index, columns=a.columns)

Out[24]:

A B

a b c a b c

2005-12-31 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

2006-12-31 -3.326761 -7.164628 8.188518 -0.863177 0.519587 -3.281982

2007-12-31 3.529531 -4.719756 8.444488 1.355366 7.468361 -4.023797

2008-12-31 3.139185 -8.420257 1.465101 -2.942519 1.219060 -5.146019

2009-12-31 -3.459710 0.519435 -1.049617 -2.779370 4.792227 -1.922461

但是每次我必须做这种操作时,我不想要形成一个新的DataFrame.我尝试过这样的apply()方法:a.apply(lambda x:x-a [‘2005’].values)

但我得到ValueError:无法将大小为6的序列复制到维度为5的数组轴

所以我不确定如何继续.有没有一种简单的方法可以做到这一点,我没有看到?我认为应该有一个简单的方法来实现这一点,因此您不必每次都构建一个新的数据帧.我也尝试了sub()方法,但减法仅应用于第一行,而我想从数据帧中的每一行中减去第一行.

把dataframe删掉第一行_python – 从Pandas DataFrame中的所有行中减去第一行相关推荐

  1. python dataframe增加一行_python - 在pandas.DataFrame中添加一行

    python - 在pandas.DataFrame中添加一行 据我所知,pandas旨在加载完全填充的DataFrame,但我需要创建一个空的DataFrame,然后逐个添加行.做这个的最好方式是什 ...

  2. pandas 如何删掉第一行_Python:Pandas – 按组删除第一行

    您可以使用groupby / transform来准备一个布尔掩码,对于您想要的行,该掩码为True,对于您不想要的行,则为False.一旦有了这样的布尔掩码,就可以使用df.loc [mask]选择 ...

  3. python dataframe取一列_python - 从pandas DataFrame列标题中获取列表

    python - 从pandas DataFrame列标题中获取列表 我想从pandas DataFrame中获取列标题列表. DataFrame将来自用户输入,因此我不知道将会有多少列或将调用它们. ...

  4. python字典查询多个值_python – 在Pandas Dataframe中查找多个字典键并返回多个匹配值...

    如果我的格式化关闭,第一次发布如此道歉. 这是我的问题: 我创建了一个包含多行文本的Pandas数据框: d = {'keywords' :['cheap shoes', 'luxury shoes' ...

  5. python pandas dataframe 转json_python-将嵌套的json转换为pandas dataframe

    时间: 2019-10-27 07:33:05 标签: pandas python 我正在尝试将嵌套的json数组转换为 pandas dataframe . 列表格式的数据如下所示: [{u'ana ...

  6. python series增加一行_关于python:将一个列表或系列作为一行添加到pandas DataFrame中?...

    因此,我已经初始化了一个空的pandas数据帧,我想在这个数据帧中迭代地将列表(或序列)附加为行.最好的方法是什么? 更好的答案可以在下面找到:stackoverflow.com/questions/ ...

  7. python嵌套字典的建立_python – 从Pandas DataFrame创建复杂的嵌套字典

    不是很简洁,但它是我现在能得到的最好的: >>> def rollup1(x): ... return x.set_index('test')[['grade', 'pass']]. ...

  8. python遍历txt每一行_python读取TXT每行,并存到LIST中的方法

    python读取TXT每行,并存到LIST中的方法 更新时间:2018年10月26日 10:58:52 作者:宁不凡 今天小编就为大家分享一篇python读取TXT每行,并存到LIST中的方法,具有很 ...

  9. python创建dataframe表格不显示_创建列pandas DataFrame数据的表绘图时出现问题?

    我有下面的代码,它创建一个带有标签的列名的表映像.我遇到的问题是让列(dc[x])能够垂直填充表,而不是水平填充.在def drilltable(): c = readcsv3() dc = Data ...

最新文章

  1. MySQL内部执行流程
  2. 【django】项目准备
  3. 【BZOJ2558】Count on a tree
  4. 电气论文实现: 考虑储能和可再生能源误差的售电公司购售电策略( 有代码数据)
  5. python正则表达式匹配括号并删除_如何使用正则表达式删除括号内的文本?
  6. 计算机考研专业综合考试二,2015计算机考研大纲:专业基础综合考试大纲原文(2)...
  7. roseha-mirror oracle数据库同步 可靠性,RoseHA集群:RHEL+RoseMirror+Oracle【1】
  8. 如何把视频kux格式转换mp4?手机怎么观看kux视频
  9. 虚拟机中安装Synology
  10. 电脑壁纸尺寸比例_怎么设置桌面壁纸尺寸比例
  11. passenger安装nginx
  12. Http请求格式和响应格式
  13. 企业微信登录报错:应用程序无法正常启动(0xc0000142);Win10应用程序无法正常启动0xc0000142错误的解决方法
  14. 机电信息杂志社《机电信息》杂志社机电信息杂志社2022年第24期目录
  15. 在挑战中成长:CTO的生存与发展之道
  16. oracle rac 仲裁盘_11G ORACLE OCR和仲裁盘恢复
  17. 2018东南亚区块链创新峰会隆重召开,ETBOX团队获得高度认可
  18. 随机点名器的实现!!!
  19. GP2Y10粉尘传感器
  20. 嵌入式软件设计第7次实验报告-140201235-陈宇

热门文章

  1. BZOJ1503[NOI2004]郁闷的出纳员——treap
  2. 外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)
  3. Highcharts 中文参考文档
  4. php特性介绍(贼有用)
  5. js 操作 select option
  6. python中argsort,sort 和 sorted,operator.itemgetter函数
  7. 反射中使用 BindingFlags.IgnoreCase
  8. postman发送post请求,服务器日志确保GET请求错误“ PageNotFound:208 Request method ‘GET‘ not supported”
  9. elasticsearch5.0启动出现的错误(自己做过测试,有错误可以在这上面找)
  10. mysql中insert into select from的使用