Python pandas Dataframe 中每个值的 divmod

Python divmod for every value in pandas Dataframe

我有一个 pandas 数据框,如下所示:

   P-101  P-103  P-104  P-107  P-114  P-120
P   2415   2535   3345   5650   2805   6210
S      0     45   3105   1165      0      0
D      0    690    690    570    255    830

我想对每个单元格应用 divmod(value, 60),然后将结果格式化为 [quotient]h[remainder]m,如下所示:5h30m

我试过:

df.values.apply(lambda x: divmod(x,60))

但这会抛出 AttributeError

如何将 divmod 应用于每个值?

您正在寻找 applymap,在 apply 的情况下,它按元素而不是按行或列应用函数:

df.applymap(lambda x: divmod(x,60))