首页 > 解决方案 > 如何根据时间戳从 CSV(熊猫)中选择 10 秒间隔的行

问题描述

我试图根据我得到的时间戳来破解我的 CSV。我想将行从 00:00:00:000 到 00:00:10:000,然后从 00:00:10:000 到 00:00:20:000,然后从 00:00:20:000 到 00 :00:30:000 和同样...

    time         2ndColumn                  3rdColumn 
0  0:00:45.817    Siulaim                  first lupoK           
1  0:00:48.553     Lexcon                   ghdhsvaasd          
2  0:00:51.546  brunoalva                       hello?           
3  0:00:56.130       Snko                          Pog
4  0:01:00.342    mcdizzo                       hfgjsa

我希望第 0 行和第 1 行应该合二为一,然后 2 和 3 合二为一,然后再间隔 10 秒。

提前致谢。

标签: pythonpandascsv

解决方案


这个:

df['time'] = pd.to_datetime(df['time'])
df.set_index('time').resample('10s').apply(list)

输出:

                          2ndColumn                  3rdColumn
time
2019-11-22 00:00:40  [Siulaim, Lexcon]  [first lupoK, ghdhsvaasd]
2019-11-22 00:00:50  [brunoalva, Snko]              [hello?, Pog]
2019-11-22 00:01:00          [mcdizzo]                   [hfgjsa]

sum()用于:

df.set_index('time').resample('10s').sum()
                         2ndColumn              3rdColumn
time
2019-11-22 00:00:40  SiulaimLexcon  first_lupoKghdhsvaasd
2019-11-22 00:00:50  brunoalvaSnko              hello?Pog
2019-11-22 00:01:00        mcdizzo                 hfgjsa

如果您不希望时间作为索引,您可以在之后重置索引


推荐阅读