【发布时间】:2019-02-15 02:49:10
【问题描述】:
我有一个 csv 文件 pruned_results.txt,如下所示:
2018-08-01 08:41:08, Wait for OK to Measure
2018-08-01 09:02:26, Wait for OK to Measure
2018-08-01 10:49:06, Wait for OK to Measure
2018-08-01 14:19:16, Wait for OK to Measure
2018-08-01 21:46:23, Wait for OK to Measure
2018-08-02 01:11:06, Wait for OK to Measure
2018-08-02 02:47:11, Wait for OK to Measure
2018-08-02 04:05:41, Wait for OK to Measure
我想在 pandas DataFrame 中作为 DateTime 索引导入的第一列。第二列是数据,我称之为State。我有以下代码:
import pandas as pd
df = pd.read_csv("pruned_result.txt", header=None, index_col=0)
df.index = pd.to_datetime(df.index)
df.columns = ['State']
df.index.names = ['Timestamp']
到目前为止,一切都很好。事实证明,我实际上有一两行具有相同的时间戳。这些对我来说并不重要。所以我想在旋转State 列之前删除重复项。我遇到的问题显然是,如果行具有相同的日期,则它们被认为是重复的。但我希望它们只有在它们一直匹配到当天的同一秒时才被视为重复。也就是代码
df.drop_duplicates(keep='first', inplace=True)
删除了太多的行(在这个命令之后我最终只有六行!)。如何更改此行为,以便仅删除重复项?
感谢您的宝贵时间!
【问题讨论】:
标签: python pandas datetime dataframe indexing