我有时间序列数据,其中有重复的时间戳索引,但我只想基于整数位置删除单个行。例如,如果我有以下内容:
import numpy as np
import pandas as pd
dates = pd.to_datetime(["2015-10-22 09:40:00","2015-10-22 09:40:00","2015-10-22 09:40:00","2015-10-22 09:50:00","2015-10-22 10:00:00"])
data_rand = np.random.rand(len(dates),3)
col_head = ['A','B','C']
df = pd.DataFrame(data=data_rand, index=dates, columns=col_head)
print(df)
rowindex = 1
df.drop(df.index[rowindex], inplace=True)
#df.drop(df.index.iloc[[rowindex]], inplace=True)
print(df)
数据输出的数据框如下所示:
A B C
2015-10-22 09:40:00 0.755642 0.797471 0.366410
2015-10-22 09:40:00 0.475411 0.629229 0.733368
2015-10-22 09:40:00 0.003278 0.461901 0.184833
2015-10-22 09:50:00 0.803465 0.218510 0.864337
2015-10-22 10:00:00 0.153356 0.950724 0.249950
现在,如果我想删除第二行,我会使用drop函数,但是因为还有两个具有完全相同索引的标签,所有三个都将被删除。有没有办法只删除三个重复时间戳中间的那个?我更喜欢在不重置索引的情况下完成这个操作。
我希望数据看起来像这样:
A B C
2015-10-22 09:40:00 0.755642 0.797471 0.366410
2015-10-22 09:40:00 0.003278 0.461901 0.184833
2015-10-22 09:50:00 0.803465 0.218510 0.864337
2015-10-22 10:00:00 0.153356 0.950724 0.249950