我正在使用/learningPandas
加载一个csv样式的数据集,其中有一个可以用作索引的时间列。数据采样频率约为100Hz。下面是一个简化的数据片段:
Time (sec) Col_A Col_B Col_C
0.0100 14.175 -29.97 -22.68
0.0200 13.905 -29.835 -22.68
0.0300 12.257 -29.32 -22.67
... ...
1259.98 -0.405 2.205 3.825
1259.99 -0.495 2.115 3.735
有20分钟的数据,在100赫兹下产生大约120000行。我的目标是在一定的时间范围内(比如100-200秒)选择这些行。在
这是我发现的
import panda as pd
df = pd.DataFrame(my_data) # my_data is a numpy array
df.set_index(0, inplace=True)
df.columns = ['Col_A', 'Col_B', 'Col_C']
df.index = pd.to_datetime(df.index, unit='s', origin='1900-1-1') # the date in origin is just a space-holder
我的数据集不包括日期。如何避免像我上面那样设定假约会?这感觉不对,而且当我按时间绘制数据时也很烦人。在
我知道有很多方法可以从datatime对象中删除date,比如here。
但是我的目标是选择在某个时间范围内的一些行,这意味着我需要使用pd.date_range()
。如果没有日期,此函数似乎无法工作。在
如果我在整个项目中使用一个假日期并不是世界末日。但我想知道是否有更优雅的方式来解决这个问题。在
我不明白为什么您需要为此使用
datetime64
对象。你的时间列是一个数字,所以你可以很容易地选择不相等的时间间隔。您也可以打印无问题的列。在样本数据
选择100到200秒之间的数据。
^{pr2}$输出:
与时间作图
转换为
timedelta64
如果您真的愿意,可以将该列转换为
timedelta64[ns]
相关问题 更多 >
编程相关推荐