pandas:相当于 SQL 的 datediff() 的函数?

2023-11-29

Python 的 pandas 中是否有与 SQL 的 datediff 函数等效的函数? 这个问题的答案:在 DataFrame pandas 中添加包含日期之间天数的列解释如何计算天数差异。例如:

>>> (pd.to_datetime('15-10-2010') - pd.to_datetime('15-07-2010')) / pd.offsets.Day(1)
92.0

不过,我有两个问题:

  1. 有没有办法计算月份的差异?我可以将上面的结果近似除以 30、31,但我想知道是否有一些内置函数可以自动执行此操作。
  2. pd.offsets 的语法是什么?我尝试除以 pd.offsets.Month(1) 但它不起作用。我在这里查找了文档(这太糟糕了,就像所有 Python 的文档一样!):http://pandas.pydata.org/pandas-docs/stable/timeseries.html#dateoffset-objects但 Day() 不存在,所以我很困惑

UPDATE:

def months_between(d1, d2):
    dd1 = min(d1, d2)
    dd2 = max(d1, d2)
    return (dd2.year - dd1.year)*12 + dd2.month - dd1.month

In [125]: months_between(pd.to_datetime('2015-01-02 12:13:14'), pd.to_datetime('2012-03-02 12:13:14'))
Out[125]: 34

旧答案:

In [40]: (pd.to_datetime('15-10-2010') - pd.to_datetime('15-07-2010')).days
Out[40]: 92

你也可以这样做几个月:

In [48]: pd.to_datetime('15-10-2010').month - pd.to_datetime('15-07-2010').month
Out[48]: 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas:相当于 SQL 的 datediff() 的函数? 的相关文章

  • 如何用 python 和 sympy 解决多元不等式?

    我对使用 python 和 Sympy 还很陌生 并且遇到了使用 sympy 解决多元不等式的问题 假设我的文件中有很多函数 如下所示 cst sqrt x 2 cst exp sqrt cst x 1 4 log log sqrt cst
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • NLTK、搭配问题:需要解包的值太多(预期为 2)

    我尝试使用 NLTK 检索搭配 但出现错误 我使用内置的古腾堡语料库 I wrote alice nltk corpus gutenberg fileids 7 al nltk corpus gutenberg words alice al
  • Python:当前目录是否自动包含在路径中?

    Python 3 4 通过阅读其他一些 SO 问题 似乎如果moduleName py文件位于当前目录之外 如果要导入它 必须将其添加到路径中sys path insert 0 path to application app folder
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • Pandas:根据列名进行列的成对乘法

    我有以下数据框 gt gt gt df pd DataFrame ap1 X 1 2 3 4 as1 X 1 2 3 4 ap2 X 2 2 2 2 as2 X 3 3 3 3 gt gt gt df ap1 X as1 X ap2 X a
  • 使用 dict 在数据框中查找行

    df pd DataFrame a 1 2 3 b 4 5 6 produces a b 0 1 4 1 2 5 2 3 6 给定一个字典 d a 2 b 5 我将如何提取数据帧中字典的键值与所有列值匹配的行 所以在这种情况下 a b 1
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • 负整数的Python表示

    gt gt gt x 4 gt gt gt print b format x x 4 100 gt gt gt mask 0xFFFFFFFF gt gt gt print b format x mask x mask 4294967292
  • 如何逐像素绘制正方形(Python,PIL)

    在空白画布上 我想使用 Pillow 逐像素绘制一个正方形 我尝试使用 img putpixel 30 60 155 155 55 绘制一个像素 但它没有执行任何操作 from PIL import Image def newImg img
  • ValueError:无法插入 ID,已存在

    我有这个数据 ID TIME 1 2 1 4 1 2 2 3 我想按以下方式对数据进行分组ID并计算每组的平均时间和规模 ID MEAN TIME COUNT 1 2 67 3 2 3 00 1 如果我运行此代码 则会收到错误 ValueE
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • 使用 Doc2vec 后如何解释 Clusters 结果?

    我正在使用 doc2vec 将关注者的前 100 条推文转换为矢量表示形式 例如 v1 v100 之后 我使用向量表示来进行 K 均值聚类 model Doc2Vec documents t size 100 alpha 035 windo
  • Google App Engine 中的自定义身份验证

    有谁知道或知道我可以在哪里学习如何使用 Python 和 Google App Engine 创建自定义身份验证流程 我不想使用 Google 帐户进行身份验证 并且希望能够创建自己的用户 如果不是专门针对 Google App Engin
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 如何使用 Django (Python) 登录表单?

    我在 Django 中构建了一个登录表单 现在我遇到了路由问题 当我选择登录按钮时 表单不会发送正确的遮阳篷 我认为前端的表单无法从 查看 py 文件 所以它不会发送任何 awnser 并且登录过程无法工作 该表单是一个简单的静态 html
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • 有没有更简单的方法将 int 转换为 unicode?

    我目前正在我的 javascript 中执行一个大的 switch 语句来转换 case 176 char u00B0 break case 177 char u00B1 break case 178 char u00B2 break ca
  • AES 在 iOS (Obj-C) 和 Android (Java) 中获得不同的结果

    我对这种加密完全是新手 但我有一个 Java 应用程序和一个 iOS 我希望它们都能够将文本加密为相同的结果 我用的是AES 我找到了这些代码 当然做了一些修改 但它们返回了不同的结果 iOS代码 NSData AESEncryptionW
  • 如何修改SVG图像作为背景图像的填充颜色?

    将 SVG 输出直接与页面代码内联放置 我可以简单地使用 CSS 修改填充颜色 如下所示 polygon mystar fill blue circle mycircle fill green 这很好用 但是我正在寻找一种方法来修改 SVG
  • 两个不同的 jenkins 构建器可以存在于同一个 hpi 中并共享相同的全局配置吗?

    我需要创建两个不同的 Jenkins Builder 类 每个都执行不同的操作 并且每个都需要自己的 jelly 但是 两者都需要相同的全局配置 global jelly 该配置指定主机和一些用户凭据 两种构建器类型的实例在执行执行期间将使
  • 向量值的不同组合

    假设我有一个由 n 个值组成的向量 我想获得其值的不同组合 例如 如果我有 vect a b c 我想要的不同组合是 a b c a b a c b c a b c 请注意 例如 a b 与 b a 相同 因此我不需要同时保留它们 计数自0
  • 如何在 Eclipse 中的可执行 .jar 文件中包含资源文件夹?

    我需要创建一个应用程序 使用各种参数 例如高度 体积或底面积 对各种类型的多边形进行排序 具有多边形参数 排序类型 排序方法的文件名参数将通过命令行传递 该文件位于项目中 src 文件夹外部的资源文件夹中 我已经实现了所有程序 当我通过 e
  • 无法动态创建和附加 div 和 span

    我正在编写一个 HTML 代码 其中有一个 div 说y这是在我的 HTML 正文中 有一个按钮 当用户单击此按钮时 我想要执行以下操作 创建另一个 div 类为smallBar 里面这个div 我想创建3个跨度 添加此 总计smallBa
  • 使用所有时区和有/无 DST 的日期进行单元测试

    如何使此单元测试在所有时区中通过 无论 DST 是否处于活动状态 import static org junit Assert import java text SimpleDateFormat import java util Date
  • 包含新的测试目录 Maven Surefire 插件

    现有结构 src test java gt 所有 java 单元测试 Maven Surefire 插件可以轻松获取此信息 现在 除了这些java单元测试用例之外 我还想包括一些groovy测试用例 并且我想将它们放在src test gr
  • Android - 从光标获取专辑艺术家

    我目前正在创建一个音乐播放器 并且正在使用光标检索设备上的音乐 mCursor getContentResolver query MediaStore Audio Media EXTERNAL CONTENT URI requestedCo
  • python-docx - 显示为普通段落的列表

    我正在尝试将数字和项目符号列表插入到现有的 Word 文档中 但是它们显示为普通段落 Open up existing document document Document existing document docx Add style
  • selenium 无法对网页元素进行屏幕截图

    我可以使用 Firefox get screenshot as file 2 png 对整个页面进行屏幕截图 但是当我使用passage screenshot 1 png 对网页元素进行屏幕截图时 它总是会引发此异常 selenium co
  • 嵌入字体和 11 月字体有什么区别?

    在书中我看到了例子 BaseFont bf BaseFont createFont KozMinPro Regular Identity V BaseFont NOT EMBEDDED Font font new Font bf 20 Ve
  • 将 Blazor .NET 6 WASM 部署到 GitHub 页面

    我正在尝试让 Blazor WASM 在 GitHub 页面中工作 我关注了这个视频 https www youtube com watch v nNxII6jvPvQ 我将它部署到这里 扩展 GH 页面 来源在这里 GH 页面源 我收到此
  • 如何用管道描述推荐基线

    我试图找到复合基线中关联的所有组件基线 我可以使用以下方式实现它 cleartool desc fmt rec bls CXp stream My Integration My PVOB I would save the receommen
  • 异步始终等待激活

    我想弄清楚是什么async await关键字是全部 但输出并不是我所期望的 控制台应用程序如下 class Program static void Main string args Console WriteLine Foo called
  • $and 查询没有返回结果

    好吧 这个简直要了我的命 也许已经晚了 我忘记了一些事情 但这应该有效 出于测试目的 我收集了大约 6000 个文档 有一个属性叫Priority在每个实例中其值为 2 以下两个查询分别返回all6000 个文档 Priority gt 1
  • MKMapKit 可拖动注释和绘制多边形

    我目前正在尝试允许用户向地图添加图钉 然后绘制连接这些图钉的多边形 但是我想扩展它以允许用户能够拖动引脚并且多边形将相应地更新 MKMapView 根据坐标数组中的排列从坐标数组中绘制多边形 如果我没有记错的话 我现在面临的问题是在用户重新
  • 无法启动 Rails Server - 找不到 JavaScript 运行时

    pallav pallav System Product Name Workspace blog rails server home pallav rvm gems ruby 2 0 0 p353 gems execjs 2 0 2 lib
  • pandas:相当于 SQL 的 datediff() 的函数?

    Python 的 pandas 中是否有与 SQL 的 datediff 函数等效的函数 这个问题的答案 在 DataFrame pandas 中添加包含日期之间天数的列解释如何计算天数差异 例如 gt gt gt pd to dateti