使用 pandas 数据框进行线性回归

2023-12-30

我在 pandas 中有一个数据框,我用它来生成散点图,并且想要包含该图的回归线。现在我正在尝试用 polyfit 来做到这一点。

这是我的代码:

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
from numpy import *

table1 = pd.DataFrame.from_csv('upregulated_genes.txt', sep='\t', header=0, index_col=0)
table2 = pd.DataFrame.from_csv('misson_genes.txt', sep='\t', header=0, index_col=0)
table1 = table1.join(table2, how='outer')

table1 = table1.dropna(how='any')
table1 = table1.replace('#DIV/0!', 0)

# scatterplot
plt.scatter(table1['log2 fold change misson'], table1['log2 fold change'])
plt.ylabel('log2 expression fold change')
plt.xlabel('log2 expression fold change Misson et al. 2005')
plt.title('Root Early Upregulated Genes')
plt.axis([0,12,-5,12])

# this is the part I'm unsure about
regres = polyfit(table1['log2 fold change misson'], table1['log2 fold change'], 1)

plt.show()

但我收到以下错误:

TypeError: cannot concatenate 'str' and 'float' objects

有谁知道我哪里错了?我也不确定如何将回归线添加到我的图中。对我的代码的任何其他一般评论也将非常感激,我仍然是一个初学者。


而不是替换“#DIV/0!”手动强制数据为数字。这同时做了两件事:它确保结果是数字类型(而不是 str),并且它替换NaN对于任何无法解析为数字的条目。例子:

In [5]: Series([1, 2, 'blah', '#DIV/0!']).convert_objects(convert_numeric=True)
Out[5]: 
0     1
1     2
2   NaN
3   NaN
dtype: float64

这应该可以解决您的错误。但是,在将直线拟合到数据的一般主题上,我有两种比 polyfit 更喜欢的方法。两者中的第二个更强大(并且可以返回有关统计数据的更详细信息),但它需要统计模型。

from scipy.stats import linregress
def fit_line1(x, y):
    """Return slope, intercept of best fit line."""
    # Remove entries where either x or y is NaN.
    clean_data = pd.concat([x, y], 1).dropna(0) # row-wise
    (_, x), (_, y) = clean_data.iteritems()
    slope, intercept, r, p, stderr = linregress(x, y)
    return slope, intercept # could also return stderr

import statsmodels.api as sm
def fit_line2(x, y):
    """Return slope, intercept of best fit line."""
    X = sm.add_constant(x)
    model = sm.OLS(y, X, missing='drop') # ignores entires where x or y is NaN
    fit = model.fit()
    return fit.params[1], fit.params[0] # could also return stderr in each via fit.bse

要绘制它,请执行类似的操作

m, b = fit_line2(x, y)
N = 100 # could be just 2 if you are only drawing a straight line...
points = np.linspace(x.min(), x.max(), N)
plt.plot(points, m*points + b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandas 数据框进行线性回归 的相关文章

  • groupby pandas数据框中连续相同的值和出现次数的累积计数

    我有一个问题 我想计算数据帧中当前值在滚动周期内未更改的次数 例如 df pd DataFrame col list aaaabbab 会以某种方式给出输出 0 1 2 3 0 1 0 0 我一直在尝试以下一些事情 df col df co
  • 如何使用 python http.server 运行 CGI“hello world”

    我使用的是 Windows 7 和 Python 3 4 3 我想在浏览器中运行这个简单的 helloworld py 文件 print Content Type text html print print print print h2 H
  • Colab 的使用限制持续多久?

    当我对同一帐户的两个笔记本同时使用两个 GPU 约半小时后 Colab 已 12 小时未运行 此消息不断弹出 由于 Colab 中的使用限制 您当前无法连接到 GPU 自从我上次使用 colab 以来已经过去了大约两个小时 但该消息仍然弹出
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • 如何在seaborn中绘制离散变量的分布图

    当我画画的时候displot对于离散变量 分布可能不像我想象的那样 例如 We can find that there are crevices in the barplot so that the curve in kdeplot is
  • Django 说“id 可能不为 NULL”,但为什么会这样呢?

    我今天要疯了 我只是尝试插入一条新记录 但它返回了 post blogpost id 可能不为 NULL 错误 这是我的模型 class BlogPost models Model title models CharField max le
  • Python ElementTree 获取带有命名空间的属性

    我试图访问 XML 中的 def 所以在这个例子中我会得到Evolus Common PlainTextV2作为输出 我似乎无法弄清楚如何获取具有名称空间的属性 如果我想得到id它工作得很好 Python for content ns in
  • 为什么在 __init__ 函数中声明描述符类会破坏描述符功能?

    在下面的 B 类中 我想要 set 每当您赋值给 A 类中的函数时 就会调用该函数B a 相反 将值设置为B a覆盖B a与价值 C类分配给C a工作正常 但我想为每个用户类都有一个单独的 A 实例 即我不想在 C 的一个实例中更改 a 来
  • 如何使用 numpy 从一维数组创建对角矩阵?

    我正在使用 Python 和 numpy 来做线性代数 我表演了numpy对矩阵进行 SVD 以获得矩阵 U i 和 V 然而 i 矩阵表示为 1 行的 1x4 矩阵 IE 12 22151125 4 92815942 2 06380839
  • Python 可选参数对

    我正在使用argparse模块获取两个可选的命令行参数 parser add argument start date nargs metavar START DATE help start date in YYYY MM DD parser
  • Python 中使用 globals() 的原因?

    Python 中有 globals 函数的原因是什么 它只返回全局变量的字典 这些变量已经是全局的 所以它们可以在任何地方使用 我只是出于好奇而问 试图学习Python def F global x x 1 def G print glob
  • 在 Qt 5 中嵌入 Python

    我想将 Python 解释器嵌入到 Qt 5 应用程序中 我在 Qt 5 中有一个工作应用程序 但是当我把 include
  • 在 Python 中将嵌套字典位置作为参数传递

    如果我有一个嵌套字典 我可以通过索引来获取键 如下所示 gt gt gt d a b c gt gt gt d a b c 我可以将该索引作为函数参数传递吗 def get nested value d path a b return d
  • Pandas 中的数据透视表小计

    我有以下数据 Employee Account Currency Amount Location Test 2 Basic USD 3000 Airport Test 2 Net USD 2000 Airport Test 1 Basic
  • 列表中的“u”是什么意思?

    这是我第一次遇到这种情况 刚刚打印了一个列表 每个元素似乎都有一个u在它前面 即 u hello u hi u hey 它是什么意思 为什么列表的每个元素前面都会有这个 由于我不知道这种情况有多常见 如果您想了解我是如何遇到它的 我会很乐意
  • 给定一个字符串,如何删除所有重复的连续字母?

    如何从字符串中删除两个连续的字母 例如 a str hii thherre 应该成为 hi there 我尝试这样做 a str join sorted set a str key a str index 但是 我得到 hi ter 是的
  • 如何正确将 tflite_graph.pb 转换为 detector.tflite

    我正在使用tensorflow对象检测API使用tensorflow中的ssdlite mobilenet v2 coco 2018 05 09来训练自定义模型模型动物园 https github com tensorflow models
  • “yield item”与 return iter(items) 相比有何优点?

    在下面的示例中 resp results 是一个迭代器 版本1 items for result in resp results item process result items append item return iter items
  • Pandas 2 个字段中唯一值的数量

    我正在尝试查找覆盖 2 个字段的唯一值的数量 例如 一个典型的例子是姓氏和名字 我有一个数据框 当我执行以下操作时 我只获取每列的唯一字段数 在本例中为 最后一个 和 第一个 不是复合体 df Last Name First Name nu
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color

随机推荐

  • git:如何将git注释添加的消息推送到中央git服务器?

    似乎没有关于 git 注释的适当文档 我使用 git Notes add 命令向其中一个提交添加了一些注释 但是当我推送提交并稍后进行单独的克隆时 我在那里看不到注释消息 有没有办法推送通过 git Notes 命令添加的所有注释消息 推送
  • Xrm.Utility.openwebresource 打开新选项卡

    我们有一个 onprem crm 2016 我只需单击功能区按钮即可打开一个 html web 资源 我在用着Xrm Utility openWebResource 问题是我们使用的是 IE11 并且所有用户的浏览器都配置为让 IE 决定如
  • 使用 XDebug 和 PHPStorm 调试 Symfony2

    我尝试着尝试 但我无法在 PHPStorm 中使用 XDebug 为 Symfony2 获得正确的调试配置 我已经检查并重新检查过 phpstorm xdebug 与 symfony2 项目 https stackoverflow com
  • 如何创建九个补丁并在我的应用程序中使用它?

    我想创建一个九补丁图像并在我的应用程序中使用它 但我不知道如何创建它 我在网上搜索了 Android 源代码 但似乎找不到任何这样的示例 我需要一个教程 以便我能够理解该过程 我已经搜索过最好和最简单的答案制作 9 块图像 现在制作 9 个
  • Rcpp 相当于 rowsum [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找 R 函数的快速替代方案r
  • Python 请求:不要等待请求完成

    在 Bash 中 可以通过附加命令在后台执行命令 我怎样才能用Python做到这一点 while True data raw input Enter something requests post url data data Don t w
  • DrawContours() 不工作 opencv python

    我正在研究在 opencv python 中查找和绘制轮廓的示例 但是当我运行代码时 我只看到一个没有绘制轮廓的黑色窗口 我不知道我哪里错了 代码是 import numpy as np import cv2 im cv2 imread t
  • 如何在GAEJ中建模实体关系?

    我想知道 非常感谢一个例子 如何在 Google App Engine for Java 中建立关系建模 一对多 多对多 我在网上搜索了一下 没有发现任何关于 Java 的内容 所有指南和教程都是关于 Python 的 我由此明白了arti
  • 在 Android 中显示来自服务/接收器的“确定”对话框

    我的应用程序有一个接收器 当收到短信时会调用该接收器 我想用一个简单的一键对话框通知用户 这是我的代码 AlertDialog Builder builder new AlertDialog Builder context builder
  • 使用 Redis 作为缓存和 C# 客户端

    我是 Redis 新手 正在尝试找出一种简单的方法来使用 Redis 作为我的 C 应用程序的本地缓存 我已经下载并运行了 redis serverhttps github com MSOpenTech redis releases htt
  • 使用有效客户端证书时出现 HttpClient 403 错误

    我正在尝试使用 Java 自动执行网站上的一些任务 我有该网站的有效客户端 当我使用 Firefox 登录时有效 但当我尝试使用 http 客户端登录时 我不断收到 403 错误 请注意 我希望我的信任存储信任任何内容 我知道它不安全 但目
  • 在android studio中制作带有大写包名的apk

    在开始之前 让我解释一下假设 我意识到使用大写的包名称是不好的约定 在我的情况下 我们正在处理一个第三方发布的 Android 应用程序 其包名称大写 不幸的是应用程序有数百万次下载 因此重新发布不是一个选择 我已经做好了广泛的研究并找不到
  • 如何使用 JsonConvert.DeserializeObject 忽略空数组?

    我正在使用此调用从 JSON 读取对象列表 Rootobject userInfo JsonConvert DeserializeObject
  • MOC 将命名空间添加到类名中

    我在编译项目时遇到了这个非常奇怪的问题 MOC 似乎在被 moc ed 的类名中添加了一个命名空间 尽管文件 类中没有提到它 然而 命名空间存在于我使用的库中 但它隐藏在头文件中很远的地方 并且我不在 UI 文件中使用它 这就是 MOC 生
  • 通过麦克风录制移动 Safari 音频

    我已经做了相当多的搜索 我知道 PhoneGap 有很多解决方案可以让人们通过麦克风录制音频 但我正在寻找的是一个可靠且简单的示例 说明如何通过 Mobile Safari 从用户麦克风录制音频 有什么例子吗 HTML5 已经取得了相当大的
  • OpenCV 和 PCL 冲突?

    我正在使用 OpenCV 2 4 2 和点云库 1 6 0 我的程序工作正常 直到我添加该行 include
  • 套接字关闭问题 - 最后一部分数据丢失

    我有一个 Java 程序 它接受连接 接收 HTTP 请求并发送 HTTP 回复以及存储在文件中的一些数据 这是缓存代理的一部分 删除所有不相关的内容 我的代码如下所示 FileInputStream fileInputStream new
  • 尝试对查询中的 Firestore 结果进行排序

    我有一个查询 我想按开始日期排序并按结束日期过滤 return FirebaseFirestore instance collection content where active isEqualTo true where end isGr
  • 启用/禁用硬件锁定消除

    我使用的是 glibc 2 24 版本 它包含用于使用事务同步扩展 例如 xbegin 和 xend 实现 pthread mutex lock 的锁省略路径 硬件应该支持锁省略hle我认为CPU标志是为了硬件锁消除 我使用的处理器是采用
  • 使用 pandas 数据框进行线性回归

    我在 pandas 中有一个数据框 我用它来生成散点图 并且想要包含该图的回归线 现在我正在尝试用 polyfit 来做到这一点 这是我的代码 import pandas as pd import matplotlib import mat