python - 在 DataFrame 中的特定日期之间抓取选择

标签 python datetime pandas

所以我有一个大型 pandas DataFrame,其中包含大约两个月的信息,每秒一行信息。一次处理的信息太多了,所以我想捕获特定的时间范围。以下代码将获取 2012 年 2 月 5 日之前的所有内容:

sunflower[sunflower['time'] < '2012-02-05']

我想做类似的事情:

sunflower['2012-02-01' < sunflower['time'] < '2012-02-05']

但这是不允许的。现在我可以用这两行来做到这一点:

step1 = sunflower[sunflower['time'] < '2012-02-05']
data = step1[step1['time'] > '2012-02-01']

但我必须使用 20 个不同的 DataFrame 多次执行此操作,并且能够轻松执行此操作会很好。我知道 pandas 能够做到这一点,因为如果我的日期是索引而不是列,这很容易做到,但它们不能成为索引,因为日期是重复的,因此您会收到此错误:

Exception: Reindexing only valid with uniquely valued Index objects

那么我该怎么做呢?

最佳答案

你可以单独定义一个掩码:

df = DataFrame('a': np.random.randn(100), 'b':np.random.randn(100)})
mask = (df.b > -.5) & (df.b < .5)
df_masked = df[mask]

或者在一行中:

df_masked = df[(df.b > -.5) & (df.b < .5)]

关于python - 在 DataFrame 中的特定日期之间抓取选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16341367/

相关文章:

php - 获取给定日期时间集的每月第一个星期一

python Pandas : transforming - moving values from diagonal

python - 如何使用请求从谷歌新闻链接获得重定向链接?

python - 如何在Python中的字典列表上进行插入排序?

javascript - setTimeout 但对于给定的时间

python - pct_change 方法在 Pandas 数据框中不起作用

mysql - Pandas 导入未插入所有行

python - 用 Pandas 突出显示散点图中的最后一个数据点

python - 如何将线程对象传递给 ThreadPoolExecutor?

javascript - 脚本 : How to calculate difference between two date-times?