我有多个带有unix时间戳的csv文件,我将其用作DateTimeIndexes,我想比较一下。
单个文件的示例:
Unixtime Value
1525328729150.00 15.06
1525328729943.00 16.05
1525328730741.00 16.32
1525328731536.00 16.35
1525328732335.00 16.87
1525328733131.00 16.99
1525328733932.00 17.45
1525328734731.00 17.65
目前我正在使用以下(代码段)设置DatetimeIndex(完美无缺地工作):
data[i] = pd.read_csv(temp_file_name, index_col=' Time_Created')
data[i].index = pd.to_datetime(data[i].index, unit='ns')
但是,当我想在特定时间比较两个不同文件的值时,有几个问题:
我尝试了几种方法:
到目前为止已尝试使用
np.round(data[i].index.astype(np.int64), -13).astype('datetime64[ns]')
或
pd.DatetimeIndex(((data[i].index.asi8/(1e13*60)).round()*1e13*60)
.astype(np.int64)).values
或
ns1min=1*60*1000000000 # 1 minute in nanoseconds
pd.to_datetime(((data[i].index.astype(np.int64) // ns1min + 1 ) * ns1min))
或
pandas.DatetimeIndex.round
但似乎没有任何工作或为我提供我需要的解决方案,即在(大致)同时减去两个值。 什么是最好的方法来解决这个问题?
答案 0 :(得分:0)
我设法使用
让它工作round_amount = 1*1*1000000000
data[i].index = pd.DatetimeIndex(((data[i].index.asi8/(round_amount)).round()*round_amount).astype(np.int64))
将DatetimeIndex四舍五入到最接近的秒。