python - 在 pandas Dataframe 函数中使用 shift 函数
问题描述
我想创建一个函数来比较 Pandas 数据框中的不同行。
我当前的功能如下所示:
def f(row):
if row['A'].shift(1) == row['B']:
val = 0
else:
val = 1
return val
我收到以下错误消息:
AttributeError: ("'numpy.float64' object has no attribute 'shift'", 'occurred at index 2006-02-28 00:00:00')
我知道问题出现在数据帧的第一行,因为没有可以移动的行。有谁知道如何重写功能?任何帮助表示赞赏。
解决方案
有了pandas
你就可以。
(~(df.A.shift()==df.B)).astype(int) # since default of shift is 1
推荐阅读
- php - PHP:插入 MySQL 数据库并检查是否已经存在 - 使用绑定参数
- python - Django 中的两种用户帐户
- reactjs - 在 React 中获取循环选项的值
- excel - GetObject 有效,CreateObject 无效
- sql - 比较来自两个不同表的两列的逗号分隔值
- wordpress - 如果我从 elementor 切换到简单编辑器,我的内容会怎样?
- javascript - 覆盖内容安全策略 document.write
- javascript - React 生产构建样式在刷新时未加载
- html - 单独覆盖 CSS 网格模板列
- python - 运行 Salt minion 指定 Python 路径