gpt4 book ai didi

python - 使用 Pandas reshape 长格式多值数据框

转载 作者:行者123 更新时间:2023-11-28 20:50:10 35 4
gpt4 key购买 nike

我想转:

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 的 melt/cast 而无需进入层次索引或堆叠数据帧。我似乎无法完全理解上述与堆叠/取消堆叠、熔化或数据透视表/数据透视表的播放——有没有好的方法来做到这一点?

例如,在 R 中它会是这样的:

dynamic_melt = melt(dynamic, id = c("DateTime", "ColumnName"))
recast = data.frame(cast(dynamic_melt, DateTime ~ ...))

以上数据将是可变的(即 ColumnName 的值不会总是相同的东西,它们可能或多或少,以及不同的名称)。

最佳答案

pandas.core.reshape 中有一个melt:

In [52]: melted = reshape.melt(df, id_vars=['DateTime', 'ColumnName'])

In [53]: melted.set_index(['DateTime', 'ColumnName', 'variable']).value.unstack([1, 2])
Out[53]:
ColumnName Percent_Used Current_Count Max Percent_Used Current_Count Max Percent_Used Current_Count Max
variable Min Min Min Avg Avg Avg Max Max Max
DateTime
2012-10-14 11:29:23.810000 24 254503 1048576 24 254503 1048576 24 254503 1048576
2012-10-14 11:34:23.813000 24 254116 1048576 24 254116 1048576 24 254116 1048576

列最终成为一个 MultiIndex,但如果这对您来说是一个交易破坏者,只需连接名称并将其设为常规索引即可。

关于python - 使用 Pandas reshape 长格式多值数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13000427/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com