我当前的.csv文件如下所示:
Account Type Value
index
0 abc123 abc 123
1 cba123 bcd 234
2 abc321 cde 345
每隔几分钟,新条目就会附加到文件中,添加它们的时间是一个重要的数据位。因此,我想将简单的有序索引列更改为时间戳列,基本上包含datetime.now()
的结果
换句话说,我希望它看起来像这样:
Timestamp Account Type Value
2020-09-08 08:36:38.188986 abc123 abc 123
2020-09-08 08:42:36.491590 cba123 bcd 234
2020-09-08 08:48:38.208422 abc321 cde 345
到目前为止,我最接近这一点的方法是:
df.index = pd.DatetimeIndex(df.index)
df.index.name = "Timestamp"
问题在于,尽管这确实会根据需要添加timestamp列,但添加的时间戳都是从1970年开始的,如下所示:
Timestamp Account Type Value
1970-01-01 00:00:00.000000000 abc123 abc 123
1970-01-01 00:00:00.000000001 cba123 bcd 234
1970-01-01 00:00:00.000000002 abc321 cde 345
如何创建一个包含时间戳的索引列,从该行实际附加到.csv文件时开始,而不是从50年前开始
更新:我认为导致其行为异常的部分原因是我的数据源,这是一个转换为数据帧的列表:
data = ib.accountSummary() # produces a list
df = pd.DataFrame(data) # converts list to dataframe
我想出了一些可行的办法(见下面我自己的答案),但我仍然对1970年的事情感到困惑。究竟为什么会这样?我有没有办法重写这个片段,让它按预期的方式工作
像这样的
df.append(pd.DataFrame(data, index=[date]))
自我回答:从另一个方向来看,我确实添加了一个包含时间戳的列,然后将其设置为索引:
这不是我想要的优雅的单线解决方案,但我肯定会满足于3线解决方案
相关问题 更多 >
编程相关推荐