【发布时间】:2023-03-07 10:38:01
【问题描述】:
我想转:
DateTime ColumnName Min Avg Max
2012-10-14 11:29:23.810000 Percent_Used 24 24 24
2012-10-14 11:29:23.810000 Current_Count 254503 254503 254503
2012-10-14 11:29:23.810000 Max 1048576 1048576 1048576
2012-10-14 11:34:23.813000 Percent_Used 24 24 24
2012-10-14 11:34:23.813000 Current_Count 254116 254116 254116
2012-10-14 11:34:23.813000 Max 1048576 1048576 1048576
进入一个数据帧,其中 DateTimes 是唯一的(索引)并且列是:
DataTime、Percent_Used_Min、Percent_Used_Avg、Percent_Used_Max、Current_Count_Min、Current_Count_Avg、Current_Count_Max、Max_Min、Max_Avg、Max_Max
基本上,我想在不涉及分层索引或堆叠数据帧的情况下模拟 R 的熔化/铸造。我似乎无法准确地使用 stack/unstack、melt 或 pivot/pivot_table 进行上述操作——有没有好的方法来做到这一点?
作为一个例子,在 R 中它会是这样的:
dynamic_melt = melt(dynamic, id = c("DateTime", "ColumnName"))
recast = data.frame(cast(dynamic_melt, DateTime ~ ...))
上述数据将是可变的(即 ColumnName 的值并不总是相同的,它们可能或多或少,并且名称不同)。
【问题讨论】:
-
如果一个值只有“Avg”列,我可以得到我想要的:'.pivot('DateTime', 'ColumnName', 'Avg')'。但由于有多个值,我无法想出获得“平面”版本的方法。
标签: python pivot pandas reshape