gpt4 book ai didi

python - 从具有重复索引的数据框中选择

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:31 25 4
gpt4 key购买 nike

我是 python 和 pandas 的新手。我有一个日期时间索引数据框。我想选择时间 > 08:00:00 的行我尝试使用 pd.DataFrame.select 函数。它失败了,因为索引有重复的条目。

我的尝试是否正确?

有解决办法吗?

使用重复条目对数据编制索引是一种不好的做法吗?

>>> df.head(10)
A
time
1900-01-01 00:01:01.456170 0
1900-01-01 00:01:01.969600 0
1900-01-01 00:01:04.305494 0
1900-01-01 00:01:13.860365 0
1900-01-01 00:01:19.666371 0
1900-01-01 00:01:24.920744 0
1900-01-01 00:01:24.931466 0
1900-01-01 00:02:07.522741 0
1900-01-01 00:02:13.857793 0
1900-01-01 00:02:34.817765 -7
>>> timeindexvalid = lambda x : x.to_datetime() > datetime(1900, 1, 1, 8)
>>> df.select(timeindexvalid)
Traceback (most recent call last):

raise Exception('Reindexing only valid with uniquely valued Index '
Exception: Reindexing only valid with uniquely valued Index objects

最佳答案

您可以使用表达式来选择您想要的索引,而无需使用 select():

In [1]: df
Out[1]:
A
time
2012-05-01 0
2012-05-02 1
2012-05-02 2

In [2]: df.index
Out[2]:
<class 'pandas.tseries.index.DatetimeIndex'>

In [3]: df.index.is_unique
Out[3]: False

In [4]: df[df.index > datetime(2012,5,1)]
Out[4]:
A
time
2012-05-02 1
2012-05-02 2

使用选择复制您的错误:

In [5]: sel = lambda x: x > datetime(2012,5,1)

In [6]: df.select(sel)
Exception: Reindexing only valid with uniquely valued Index objects

关于python - 从具有重复索引的数据框中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com