Kyl*_*ndt 2 python pivot reshape pandas
我想转:
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
Run Code Online (Sandbox Code Playgroud)
进入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 ~ ...))
Run Code Online (Sandbox Code Playgroud)
以上数据将是可变的(即ColumnName的值并不总是相同的,可能会有更多或更少的名称,以及不同的名称).
有一个melt在pandas.core.reshape:
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
Run Code Online (Sandbox Code Playgroud)
这些列最终是一个MultiIndex,但如果这是一个交易破坏者,只需将名称连接起来并使其成为常规索引.
| 归档时间: |
|
| 查看次数: |
2496 次 |
| 最近记录: |