我有一个熊猫数据帧,包含38个时间序列。每个时间序列从0开始,到1结束,一个以秒为单位的数字列在0到1之间,这是关于每个时间序列从何处开始和从何处结束的唯一提示。你知道吗
我想拆分原始df int 38数据帧。你知道吗
我想我可以简单地在行上循环并执行检查,直到值达到1s,然后拆分,但我想知道是否有一种更聪明、最快的方法来实现这一点?总有一天我会有38000个时间序列。。。你知道吗
数据帧看起来像:
行¦var1¦var2¦。。。Ω时间
第1行¦x¦y¦。。。Ω0.0
是的。你知道吗
行100¦x100¦y100¦。。。Ω1.0
第101¦x101¦y101¦行。。。Ω0.0
是的。你知道吗
我想拆分第100行中的df,这样第101行就是新的不同数据帧的第一行。我会在给定的df内重复这个过程38次。你知道吗
我的问题与[1]不同,因为在这种情况下,此人希望按相同的日期值分组,而在我的情况下,我不希望按相同的值分组。你知道吗
谢谢你的提示
你可以给你需要的人打电话
细节
开始数据帧
在
df.time.eq(1).shift().fillna(0).cumsum()
中,我们基本上是在创建一个列来进行分组。此处以列s
显示然后我们基本上对s列进行分组(尽管我们从未创建s列)。因为每个组本质上都是一个数据帧,所以您有单独的数据帧。你知道吗
如果我们使用
df.time.eq(1).fillna(0).cumsum()
,那么在下一个数据帧中会有一行变为1。分组数据如s2列所示相关问题 更多 >
编程相关推荐