当我不知道有多少行时,如何根据pandas pandraame的第一个数据行的情况删除前n行,从而保留其余n行? 比如说,我想根据第一记录的第二行删除下面示例中的所有前n行.时间戳的数量不是恒定的.
代码 :
import pandas as pd
from datetime import datetime
# sample dataframe
d = {(0) : [pd.DatetimeIndex([datetime.strptime(s, '%Y-%m-%d %H:%M:%S')])[0]
for s in ['2001-12-23 01:23:59',
'2001-12-23 01:23:59',
'2001-12-23 01:23:59',
'2001-12-23 01:24:00',
'2001-12-23 01:24:00',
'2001-12-23 01:24:01',
'2001-12-23 01:24:02',
'2001-12-23 01:24:02'
]],
(1) : [10,11,12,13,14,15,16,17]
}
df1 = pd.DataFrame(data=d)
# obtain first second from timestamp column
sec_1 = df1[0].head(1).dt.second
我知道如何过滤整个时间戳列,但我很难按照描述的那样过滤掉. 我正在查看concat和iloc,但"删除了此处的声明".
编辑:
更多澄清.
我需要根据第一个时间戳中的秒值删除上述示例rame的第一行,这里是59,但可以是任何其他秒数.作为时间戳,它在创建之前永远不知道,并且可以是00到59之间的任何值.此外,尚不清楚同一秒内会创建多少个相同的时间戳. 因此,在上面的示例rame中,我有3个秒数相同的时间戳.可能是6,可能是31,永远不知道.
当前样本框架:
0 1
0 2001-12-23 01:23:59 10
1 2001-12-23 01:23:59 11
2 2001-12-23 01:23:59 12
3 2001-12-23 01:24:00 13
4 2001-12-23 01:24:00 14
5 2001-12-23 01:24:01 15
6 2001-12-23 01:24:02 16
7 2001-12-23 01:24:02 17
我想要的结果是这样的相框:
0 1
3 2001-12-23 01:24:00 13
4 2001-12-23 01:24:00 14
5 2001-12-23 01:24:01 15
6 2001-12-23 01:24:02 16
7 2001-12-23 01:24:02 17
稍后我可以删除奶奶的,重新索引等等.