具有以下简化的数据帧:
Date Name Score V H M
2018-01-01 A 5 V1 H4 M6
2018-01-01 B 3 V5 H2 M1
2018-01-01 C 4 V7 H6 M6
2018-01-01 A 4 V11 H9 M3
2018-01-01 C 2 V4 H2 M18
2018-01-02 A 4 V9 H1 M9
2018-01-02 B 1 V15 H4 M10
2018-01-02 A 3 V10 H10 M14
2018-01-03 C 5 V5 H21 M34
2018-01-04 A 3 V8 H9 M6
2018-01-04 A 4 V4 H15 M9
2018-01-04 C 2 V2 H4 M14
2018-01-04 B 5 V1 H1 M2
将上面的数据帧作为原始集,我进一步按日期索引了它,并在每月的级别上重新采样。我最终想做的是为列(Name,V,H,M)中与分数相关的惟一值创建单独的timeseries(通过分组完成)。虽然我已经减少了抽样,但我预计这些列的分组唯一值的时间序列大小不规则,并计划通过插值来处理这一问题。在
目标是创建并提取多个时间序列到一个新的数据帧中,并探索它们的相关性映射。例如,我会有V1,V2。。。,Vn,H1,H2。。。,Hn,M1,M2。。。、Mn等。在
我不确定这是应该在一个新的数据帧中捕获还是基于分组的多个数据帧中捕获。以下是timeseries输出的示例:
^{pr2}$我需要帮助来实施一个有效的方法来做到这一点,并知道我是否在正确的轨道上。上面的数据帧是一个更大数据集的简化版本。在
感谢任何帮助和指导。在
我在熊猫身上试过这个。我试图使用一个双} with ^{} and ^{} 。在
melt
,但是this SO post解释说不能这样做,所以我不得不(1)melt
(stack)在不包括Score
列的列上给出df_modmelt
,然后(b)附加一个新列,它只是Score
列based on this idea的重复版本——本质上,同一列被重复(垂直连接)n
次:我使用(len(df_modmelt)/len(df))
来完成这个操作。这是合理的,因为在熔化之后,我没有更改行顺序,因此熔融数据帧df_modmelt
中的每个块的顺序与原始数据相同,并且附加Scores
列保留了Scores
列与其他列之间的关联。那就用^{在第二个月的代码中添加了一些示例数据
代码
^{pr2}$这是输出
编辑
最后一行
pd.offsets.MonthBegin(1)
只是返回这个月的第一个日期。在编辑2
每个请求获取关于} column 之间相关性的附加信息-请参阅有用的链接here:
df_final
的unique values in the ^{列
Name
的输出列
H
的输出您可以使用
concat
将列Name、V、H、M移到彼此下方。之后,您可以用tile
填充分数。最后,您可以将resample
、mean
和interpolate
应用于以下组:相关问题 更多 >
编程相关推荐