在 Python 数据框中获取一天的一部分(早上、下午、晚上、夜晚)

2024-03-30

这是我的数据框,我需要根据行值的时间创建一个新列(早上,下午,晚上,晚上)

这是我的代码

if ((prods['hour'] < 4) & (prods['hour'] > 8 )):
    prods['session'] = 'Early Morning'
elif ((prods['hour'] < 8) & (prods['hour'] > 12 )):
    prods['session'] = 'Morning'
elif ((prods['hour'] < 12) & (prods['hour'] > 16 )):
    prods['session'] = 'Noon'
elif ((prods['hour'] < 16) & (prods['hour'] > 20 )):
    prods['session'] = 'Eve'
elif ((prods['hour'] < 20) & (prods['hour'] > 24 )):
    prods['session'] = 'Night'
elif ((prods['hour'] < 24) & (prods['hour'] > 4 )):
    prods['session'] = 'Late Night'

这是我得到的错误

ValueError Traceback(最近调用 最后)在 ----> 1 if (prods['hour'] > 4 and prods['hour'] 8 且 prods['hour'] 12 且 prods['hour']

/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py 中nonzero第1476章 第1477章 a.bool()、a.item()、a.any() 或 a.all()。” -> 1478 .format(自我。class.name)) 1479 1480bool = nonzero

ValueError:系列的真值不明确。使用a.empty, a.bool()、a.item()、a.any() 或 a.all()。

请帮忙


Use cut http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html或自定义函数and并且也改变了< to > and > to <=以及每项增值return:

prods = pd.DataFrame({'hour':range(1, 25)})

b = [0,4,8,12,16,20,24]
l = ['Late Night', 'Early Morning','Morning','Noon','Eve','Night']
prods['session'] = pd.cut(prods['hour'], bins=b, labels=l, include_lowest=True)

def f(x):
    if (x > 4) and (x <= 8):
        return 'Early Morning'
    elif (x > 8) and (x <= 12 ):
        return 'Morning'
    elif (x > 12) and (x <= 16):
        return'Noon'
    elif (x > 16) and (x <= 20) :
        return 'Eve'
    elif (x > 20) and (x <= 24):
        return'Night'
    elif (x <= 4):
        return'Late Night'

prods['session1'] = prods['hour'].apply(f)
print (prods)
    hour        session       session1
0      1     Late Night     Late Night
1      2     Late Night     Late Night
2      3     Late Night     Late Night
3      4     Late Night     Late Night
4      5  Early Morning  Early Morning
5      6  Early Morning  Early Morning
6      7  Early Morning  Early Morning
7      8  Early Morning  Early Morning
8      9        Morning        Morning
9     10        Morning        Morning
10    11        Morning        Morning
11    12        Morning        Morning
12    13           Noon           Noon
13    14           Noon           Noon
14    15           Noon           Noon
15    16           Noon           Noon
16    17            Eve            Eve
17    18            Eve            Eve
18    19            Eve            Eve
19    20            Eve            Eve
20    21          Night          Night
21    22          Night          Night
22    23          Night          Night
23    24          Night          Night
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 数据框中获取一天的一部分(早上、下午、晚上、夜晚) 的相关文章

随机推荐

  • IOS 将 URL 字符串转换为 NSString?

    我在转换时遇到问题URL string 我从 XML 文件中提取到NSString The URL string看起来像这样 看起来很奇怪 但确实如此URL format 3CTEXTFORMAT 20LEADING 3D 222 22 3
  • Xcode 多个静态库和重复符号

    我正在开发一个 iPad 应用程序 它依赖于两个静态实用程序库 libBFSDK 和 libBetfair Platform 这两个静态库都包含 AFNetworking 当我尝试在 iPad 应用程序中包含两个静态库时 我收到如下链接错误
  • Docker-Compose 挂载卷覆盖主机文件

    我正在从 CMS 装载一个目录 其中包含 Docker 容器内的内容文件 安装绝对有效 CMS 获得了一些基本文件 这些文件在构建过程中被复制到容器中的已安装文件夹中 然后它将被挂载到主机上的某个目录中 现在容器中的文件也位于主机上 我可以
  • HDBSCAN Python 选择簇数

    是否可以在Python中的HDBSCAN算法中选择簇的数量 或者唯一的方法是使用输入参数 例如 alpha min cluster size Thanks UPDATE 这是使用 fcluster 和 hdbscan 的代码 import
  • 角度过滤器:如何进行预过滤,以便角度过滤器仅考虑整个数据对象的一部分

    我有一个包含多个列的大型数据表 从 json api 获取数据 并且想要实现多个过滤器 执行以下操作 选择应考虑哪个数据列的选项 包含 thead 选项的下拉列表 my columnFilter 进而 用于过滤特定数据部分的输入字段 my
  • 如何在C# TBB中从类别名称中获取关键字?

    我正在尝试使用 C TBB 获取类别中存在的关键字 以使用以下 DWT TBB 中的输出 为此 我有一个带有类别字段的组件 我正在尝试编写以下 C TBB 来获取关键字值 try string className package GetVa
  • 转换为 UI 的记录器条目随着时间的推移停止更新

    我有一个 javafx concurrent Task 在后台运行一些代码并使用 java util logging Logger 提供有关其状态的信息 我需要在主线程的 UI 中显示此日志条目 我怎样才能做到这一点 这是我制作的一个简单的
  • 在 Perl 中比较日期的最佳方法是什么?

    我需要读取 2 个日期并进行比较 一个日期是 current date 年 月 日 另一个是由业务逻辑决定的 然后我需要比较两个日期 看看一个日期是否早于另一个日期 我怎样才能在 Perl 中做同样的事情 我正在寻找好的文档 但我在 Per
  • Android Studio 更新后 Gradle 项目刷新失败

    这是输出 11 57 04 AM Gradle KeddreaderProject 项目刷新失败 原因 org gradle internal service ServiceLocator Ljava lang ClassLoader V
  • 将集合转换为表达式 Maple/ 将前缀更改为固定表达式

    如何将下面的集合转换为表达式 Expression a b a x y can be any operator 所需输出为 result a b a x y required output 我尝试使用下面的转换函数进行转换 asString
  • 将多个 .txt 文件合并为 csv

    Python 新手 我正在尝试将多个文本文件合并为 1 个 csv 下面的例子 文件名 csv Alpha 0 0 1 0 15 0 2 0 25 0 3 文本1 txt Alpha Beta 0 10 0 2 20 0 3 30 文本2
  • Ruby Rails - 为 AJAX 调用控制器操作构建数据

    我的网站上需要一个按钮 可以将信息发送到控制器的创建操作 页面时间 它似乎有效 尽管它没有发送我指定的所有数据 可能与我无法构建数据向量有关 我已通过以下方式在我的 config routes rb 文件中提供 POST 请求post pa
  • Admob实施错误

    我在应用程序中实施 Admob 时遇到问题 这是我的 main xml
  • Java 在 ^(插入符号?)上分割不起作用,这是一个特殊字符吗?

    在Java中 我试图拆分 性格 但它无法识别它 逃跑 抛出代码错误 这是一个特殊字符还是我需要做其他事情才能让它识别它 String splitChr String fmgStrng aryToSplit split splitChr Th
  • `a = b || 的语法糖a`, `a = b && a`

    For a a b a a b 有很好的语法糖a b a b 同样经常出现的还有 a b a a b a 有没有好的语法糖或简短的方法来编写这个 a b a 可以重写为 a b if b 可以重写而无需重复a or b as x b and
  • 强制 MATLAB mmreader 或 avireader 使用不同的编解码器?

    当我需要播放 AVI 文件时 如何强制 MATLAB 函数使用不同的编解码器 我使用的是 windows7 我发现 indeo5 编解码器由于操作系统的原因无法正常工作 所有代码在 XP 上都可以正常运行 Thanks 如果您的问题是如何使
  • Rails 3 自定义操作表单

    我在 Rails 3 中将表单路由到自定义操作时遇到问题 以下是我的路由 resources photos do resources comments collection do get update states end member d
  • Delphi:解析未知结构的记录

    有没有一种方法可以获取记录并以编程方式遍历其所有字段 而无需显式执行 Record somerfield 我想要做的是一个将记录保存 加载为 INI 文件的通用函数 以便我可以从记录结构中添加或删除字段 而无需每次在记录中删除或添加字段时重
  • 是否可以在react项目中使用dotenv?

    我正在尝试设置一些环境变量 用于对 dev prod 端点进行 API 调用 密钥取决于 dev prod 等 我想知道使用 dotenv 是否有效 我已经安装了 dotenv 并且正在使用 webpack 我的 webpack 入口是ma
  • 在 Python 数据框中获取一天的一部分(早上、下午、晚上、夜晚)

    这是我的数据框 我需要根据行值的时间创建一个新列 早上 下午 晚上 晚上 这是我的代码 if prods hour lt 4 prods hour gt 8 prods session Early Morning elif prods ho