跨 pandas 行/回归线应用公式

2024-02-13

我正在尝试在数据框的行上应用公式来获取行中数字的趋势。

下面的示例一直有效,直到部分.apply用来。

df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
axisvalues=list(range(1,len(db.columns)+1))

def calc_slope(row):
    return scipy.stats.linregress(df.iloc[row,:], y=axisvalues)

calc_slope(1) # this works

df["New"]=df.apply(calc_slope,axis=1) # this fails *- "too many values to unpack"*

感谢您的任何帮助


我认为你需要一个属性:

def calc_slope(row):
    a = scipy.stats.linregress(row, y=axisvalues)
    return a.slope 

df["slope"]=df.apply(calc_slope,axis=1)
print (df)
          A         B         C         D     slope
0  0.444640  0.024624 -0.016216  0.228935 -2.553465
1  1.226611  1.962481  1.103834  0.645562 -1.455239
2 -0.259415  0.971097  0.124538 -0.704115 -0.718621
3  1.938422  1.787310 -0.619745 -2.560187 -0.575519
4 -0.986231 -1.942930  2.677379 -1.813071  0.075679
5  0.611214 -0.258453  0.053452  1.223544  0.841865
6  0.685435  0.962880 -1.517077 -0.101108 -0.652503
7  0.368278  1.314202  0.748189  2.116189  1.350132
8 -0.322053 -1.135443 -0.161071 -1.836761 -0.987341
9  0.798461  0.461736 -0.665127 -0.247887 -1.610447

对于所有属性,将namedtuple 转换为dict然后到Series。输出是新的DataFrame,所以如果有必要的话join http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html至原文:

np.random.seed(1997)

df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
axisvalues=list(range(1,len(df.columns)+1))

def calc_slope(row):
    a = scipy.stats.linregress(row, y=axisvalues)
    return pd.Series(a._asdict())

print (df.apply(calc_slope,axis=1))
      slope  intercept    rvalue    pvalue    stderr
0 -2.553465   2.935355 -0.419126  0.580874  3.911302
1 -1.455239   4.296670 -0.615324  0.384676  1.318236
2 -0.718621   2.523733 -0.395862  0.604138  1.178774
3 -0.575519   2.578530 -0.956682  0.043318  0.123843
4  0.075679   2.539066  0.127254  0.872746  0.417101
5  0.841865   2.156991  0.425333  0.574667  1.266674
6 -0.652503   2.504915 -0.561947  0.438053  0.679154
7  1.350132   0.965285  0.794704  0.205296  0.729193
8 -0.987341   1.647104 -0.593680  0.406320  0.946311
9 -1.610447   2.639780 -0.828856  0.171144  0.768641

df = df.join(df.apply(calc_slope,axis=1))
print (df)
          A         B         C         D     slope  intercept    rvalue  \
0  0.444640  0.024624 -0.016216  0.228935 -2.553465   2.935355 -0.419126   
1  1.226611  1.962481  1.103834  0.645562 -1.455239   4.296670 -0.615324   
2 -0.259415  0.971097  0.124538 -0.704115 -0.718621   2.523733 -0.395862   
3  1.938422  1.787310 -0.619745 -2.560187 -0.575519   2.578530 -0.956682   
4 -0.986231 -1.942930  2.677379 -1.813071  0.075679   2.539066  0.127254   
5  0.611214 -0.258453  0.053452  1.223544  0.841865   2.156991  0.425333   
6  0.685435  0.962880 -1.517077 -0.101108 -0.652503   2.504915 -0.561947   
7  0.368278  1.314202  0.748189  2.116189  1.350132   0.965285  0.794704   
8 -0.322053 -1.135443 -0.161071 -1.836761 -0.987341   1.647104 -0.593680   
9  0.798461  0.461736 -0.665127 -0.247887 -1.610447   2.639780 -0.828856   

     pvalue    stderr  
0  0.580874  3.911302  
1  0.384676  1.318236  
2  0.604138  1.178774  
3  0.043318  0.123843  
4  0.872746  0.417101  
5  0.574667  1.266674  
6  0.438053  0.679154  
7  0.205296  0.729193  
8  0.406320  0.946311  
9  0.171144  0.768641 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨 pandas 行/回归线应用公式 的相关文章

  • 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

    我尝试添加PYTHONSTARTUP环境变量 我还尝试了自定义启动脚本 但更令人惊讶的是 这also没有工作 npa别名无法识别 出于一点绝望 我什至尝试添加到interpreter options 那什么也没做 实际上是什么Interpr
  • 蜘蛛内的Scrapyd jobid值

    Scrapy 框架 Scrapyd 服务器 我在获取蜘蛛内部的 jobid 值时遇到一些问题 将数据发布到后http localhost 6800 schedule json http localhost 6800 schedule jso
  • 如何使用 HTTP 标头发送非英语 unicode 字符串?

    我是 HTTP 相关问题的新手 我的问题是在 iOS 开发中 我想使用 HTTP 标头发送一个字符串 所以我使用 httpRequest setValue nonEnglishString forHTTPHeaderField custom
  • Django 未在 404 页面上应用应用程序中的 CSS 文件

    姜戈3 0 8 Python 3 7 x 我有一个包含一些应用程序的 Django 项目 我正在尝试为 400 403 404 500 错误制作一些 默认 错误页面 我已经这样做了 并显示了适当的模板 但没有任何样式或 JS 在 404 错
  • turtle.Screen().screensize() 未输出正确的屏幕尺寸[重复]

    这个问题在这里已经有答案了 我编写了一些代码来在屏幕周围随机放置点 但是 它并没有覆盖整个屏幕 import turtle import random t turtle Turtle color red green blue pink ye
  • 了解 asyncio 已经运行的永久循环和挂起的任务

    我在理解如何将新任务挂起到已经运行的事件循环中时遇到问题 这段代码 import asyncio import logging asyncio coroutine def blocking cmd while True logging in
  • 从主机名中提取域名

    是否有一种编程方式可以从给定的主机名查找域名 给出 gt www yahoo co jp 返回 gt yahoo co jp 有效但非常慢的方法是 拆分为 并从左侧删除 1 个组 使用 dnspython 加入并查询 SOA 记录 当返回有
  • 类型错误:需要 Future 或协程

    我尝试在 asyncssh 上自动重新连接 ssh 客户端 SshConnectManager 必须留在后台并在需要时进行 ssh 会话 class SshConnectManager object def init self host u
  • Flask 中的 import 和 extends 有什么区别?

    我正在阅读 Flask Web 开发 在例4 3中 extends base html import bootstrap wtf html as wtf 我想知道 extends 和 import 有什么区别 我认为它们在用法上很相似 在什
  • python-polars 通过分隔符将字符串列拆分为许多列

    在 pandas 中 以下代码会将 col1 中的字符串拆分为许多列 有没有办法在极地做到这一点 d col1 a b c d a b c d df pd DataFrame data d df a b c d df col1 str sp
  • 使用 3d 对象作为 3d 散点图中的标记 - Python

    使用下面的代码 我尝试模拟一个用罐头制成的碗 我希望每个标记都是一个罐头 最好的方法是什么 我真的很感激任何建议 谢谢 import pylab import numpy as np from math import pi sin cos
  • PyCharm 无法识别字典值类型

    我有一个简单的代码片段 其中我将字典值设置为空列表 new dict for i in range 1 13 new dict i 现在 如果在下一行的循环内我会输入new dict i 并添加一个点 我希望 PyCharm 向我显示可用于
  • pandas to_sql sqlalchemy 与 secure_transport 的连接

    我正在尝试将数据发送到具有 require secure transport ON 的服务器上的 mysql 数据库 当我尝试使用以下代码连接到它时 import pandas as pd import pymysql from sqlal
  • 根据给定列表中的值替换列中的值[重复]

    这个问题在这里已经有答案了 我在数据框中有一列 仅允许定义列表中存在的值 例如 给定列表 l1 1 2 5 6 如果列表中不存在列中的值 我需要将每个值替换为 0 column Expected column 1 1 5 5 2 2 3 0
  • 使 np.loadtxt 使用多个可能的分隔符

    我有一个程序可以读取数据文件 用户可以选择他们想要使用的列 我希望它对于输入文件更加通用 有时 列可能如下所示 10 34 24 58 8 284 6 121 有时它们可 能看起来像这样 10 34 24 58 8 284 6 121 我希
  • 在python中安装scipy模块时出错

    我正在尝试使用 pip 在 python 中安装 scipy 模块 它显示以下错误 Command c users sony appdata local programs python python35 32 python exe u c
  • 如何加速 pandas 字符串函数?

    我正在使用 pandas 矢量化 str split 方法来提取从 上的拆分 返回的第一个元素 我还尝试使用 df apply 与 lambda 和 str split 来产生等效的结果 使用 timeit 时 我发现 df apply 的
  • Scrapy的redirect_urls异常.KeyError

    我是 Scrapy 和 Python 的新手 最近推出了我的第一个蜘蛛 有一个功能似乎以前有效 但现在它只适用于我试图废弃的一些网站 代码行是 item url direct response request meta redirect u
  • Python 中的十进制到二进制半精度 IEEE 754

    我只能使用以下命令将十进制转换为二进制单精度 IEEE754struct pack模块 或者使用相反的方法 float16 或 float32 numpy frombuffer 是否可以使用 Numpy 将十进制转换为二进制半精度浮点数 我
  • 如何使用 pygame.mixer 重复音乐?

    我创建了以下使用 pygame mixer 播放 mp3 音乐的代码 然而 音乐不会重复 有什么想法可以让音乐重复播放吗 这是代码 playlist list playlist append put music here mp3 playl

随机推荐

  • 通过 Nginx、Django 提供 206 字节范围服务

    我让 Nginx 为我的静态 Django 文件提供服务 该文件在 Gunicorn 上运行 我正在尝试提供 MP3 文件并让它们具有头部 206 以便 Apple 接受它们用于播客 目前 音频文件位于我的静态目录中 并直接通过 Nginx
  • 受保护的构造函数有哪些实际用途?

    为什么有人会声明构造函数受保护 我知道构造函数被声明为私有 目的是不允许它们在堆栈上创建 当一个类是 旨在作为 抽象类时 受保护的构造函数是完全正确的 在这种情况下 您不希望从类实例化对象 而只想使用它来继承 还有其他用例 例如某些构造参数
  • 使用没有表单的视图创建 django 对象

    我想知道如何能够根据用户将要访问的 URL 在数据库中创建对象 例如 他们将转到 schedule addbid 1 这将在表中创建一个对象 其中包含投标的所有者 他们投标的时间表以及投标是否已完成 这是迄今为止我的投标模型的内容 clas
  • 列表中的枚举值

    我有一个枚举类 例如 public enum USERTYPE Permanant 1 Temporary 2 在我的业务对象中 我只是将这个枚举声明为 private List
  • 如何根据模型类上返回布尔值的方法的结果来过滤查询集?

    作为我的模型类之一的成员函数 我有一个is visible self user 返回布尔值的方法 根据定义 它需要请求用户 DjangoUser模型 作为输入 我希望能够根据对此方法的响应来过滤查询集 如何使用此函数作为查询集过滤器 对于上
  • keySet().toArray(new Double[0]) 的作用是什么?

    下面的返回有什么作用 我该如何使用该值 private Map
  • 提交表单时如何从 mgt-people-picker 获取输入值

    我在用着mgt people picker从 ASP Net Razor 应用程序中 使用ProxyController从 Graph API 获取所有数据 一切正常 现在我想从我创建的表单中获取信息 其中包含人员列表mgt people
  • ColdFusion 通过 Java 执行 OWASP esapi

    我有一些旧的 ColdFusion 代码 它最初是为 CF9 编写的 但现在运行在 CF 2016 上 应用程序 cfc local esapi createObject java org owasp esapi ESAPI applica
  • Postgresql 使用外键约束截断表

    目前我正在尝试截断在 Postgresql 11 3 上具有外键约束的表 我尝试这样做 BEGIN SET CONSTRAINTS ALL DEFERRED TRUNCATE tableA COMMIT 但收到错误 ERROR cannot
  • UIPageViewController 的大小很奇怪

    我正在使用一个UIPageViewController在我的应用程序中 它工作得很好 但是当我翻页时 下一页似乎在比屏幕大的框架中初始化 翻页时 只有下一页视图的一部分viewController适合屏幕 我正在初始化UIPageViewC
  • 识别 NHibernate 代理类

    我不是 NHibernate 用户 我编写了一个序列化实用程序库 用户记录了一个功能请求 要求我处理 NHibernate 代理类 将它们视为与实际类型相同 目前我的代码将它们视为意外继承 并引发异常 代码不会提前了解 NHibernate
  • 将 BytesMessage 转换为字符串?

    最好的转换方式是什么ByteMessage to String 我有以下代码 我们有更干净的方法吗 BytesMessage byteMessage set byteMessage byte byteArr new byte int byt
  • jsTree 禁用某些复选框

    将 jsTree 3 1 0 与复选框插件一起使用是否可以允许并非所有复选框都进行检查 禁用其中一些 我在这里找到了旧版本 jsTree 的解决方案jstree 禁用复选框 https stackoverflow com questions
  • 比较日期时间函数 cypress

    我有一个表单 允许用户输入日期范围 并且输出将仅包含该特定日期的结果 我可以使用 type 函数将日期输入到表单中 但是 我不确定如何检查结果是否在指定的范围内 例如 如果输入的日期是 17 03 2019 我应该能够使用这样的代码检查表中
  • Optaplanner 将客户从有效的 VRP 解决方案中删除

    基于此question https stackoverflow com questions 47913276 optaplanner vrp remove customer from working solution我尝试了以下方法 pub
  • 我该如何为这个不变量编写一个循环?

    这些是查找数组 b h k 最小值的算法的断言 Precondition h lt k lt b length Postcondition b x is the minimum of b h k 这是这个不变量的正确循环吗 不变式 b x
  • 将工具提示保留在浏览器窗口内? (不使用插件)

    我的工具提示代码如下 HTML CSS a tooltip span display none padding 5px border 1px solid 000 background 999 position absolute color
  • 如何使用谷歌地图路径点进行交通

    我知道我们不允许使用谷歌地图 API 路径点进行 TRANSIT 有什么方法 可能 可以解决这个问题 让谷歌地图在路径点中找到指向多个地址的方向 但仅用于 TRANSIT 来自文档 https developers google com m
  • (a==1 && a==2 && a==3) 在 Java 中可以计算为 true 吗?

    我们知道它可以在 JavaScript 中 https stackoverflow com q 48270127 476716 但是在Java中是否可以在下面给出的条件下打印 成功 消息 if a 1 a 2 a 3 System out
  • 跨 pandas 行/回归线应用公式

    我正在尝试在数据框的行上应用公式来获取行中数字的趋势 下面的示例一直有效 直到部分 apply用来 df pd DataFrame np random randn 10 4 columns list ABCD axisvalues list