【发布时间】:2021-12-20 09:08:30
【问题描述】:
对于整个数据框,我需要比较同一行上的 4 个日期。找到最新的日期并突出显示它。 突出显示的单元格是 comp1 - comp4 之间的最高单元。
我首先确保所有 comps 都是日期时间 dtypes,我什至尝试将它们制作为对象并在编写本文之前进行比较,但没有运气。
这是我在网上尝试/搜索的内容,但这些都不起作用:
checks.style.highlight_max(color= 'yellow', axis=0)
没有突出显示
我也尝试使用子集,但由于某种原因,无论是否检查每个组合上的 dtype,它们都不会保留日期时间或对象,而是由于某些奇怪的原因变成浮点数
checks.style.highlight_max(color= 'yellow', axis=0, subset=['CAC Clearance', 'ASB Results Received','Arch Assessment','Bio Assessment'])
这是我得到的错误,但我在运行它之前将它们全部作为日期时间。
TypeError: 'float' 和 'datetime.date' 的实例之间不支持 '>='
最后我尝试通过 ID 进行分组,即使这样我似乎也无法让它工作。
使用print(checks.head().to_records())/print(checks.head().to_dict())的示例日期
输出(目前只能提供某些信息时间戳)
TypeError Traceback(最近一次调用最后一次) 在 ----> 1 次打印(checks.head().to_records())/打印(checks.head().to_dict())
TypeError: /: 'NoneType' 和 'NoneType' 的操作数类型不受支持
第一个打印示例:
'2021-10-13T00:00:00.000000000', '2021-10-13T00:00:00.000000000')
第二个打印示例:
Timestamp('2021-10-13 00:00:00'), 4: Timestamp('2021-10-13 00:00:00')}, '生物评估': {0: Timestamp('2021 -10-13 00:00:00'), 1: 时间戳('2021-10-14 00:00:00'), 2: 时间戳('2021-10-13 00:00:00'), 3:时间戳('2021-10-13 00:00:00'), 4: 时间戳('2021-10-13 00:00:00')}}
【问题讨论】:
-
请不要链接或嵌入源代码或数据的外部图像。图像难以有效地为您提供帮助,因为它们无法复制,并且由于无法搜索而可用性差。请参阅:Why not upload images of code/errors when asking a question? 如果您需要帮助将 DataFrame 的一个小样本格式化为 SO 的可复制代码,请参阅How to make good reproducible pandas examples。
-
可能您缺少数据,这意味着您在一行中有
NaN,其中包含日期并且无法排序。如果您提供 DataFrameprint(checks.head().to_records())/print(checks.head().to_dict())的样本,这个问题会更容易回答。因为不可能仅从这张图片中导出 DataFrame 的底层数据类型。 -
哇,真快。请原谅我的图片。我试图只是复制过去的示例表单 excel,然后它就这样上传了。只是想弄清楚。此外,将使用尝试显示原始帖子中的数据示例,但必须编辑其中的一些内容。
-
当然是在 NaTs。我会改变它并尝试格式化日期,以显示年月日,看看是否有效
标签: python pandas pandas-styles