相关疑难解决方法(0)

如何按特定月/日过滤日期数据框?

所以我的代码如下:

df['Dates'][df['Dates'].index.month == 11]
Run Code Online (Sandbox Code Playgroud)

我正在做一个测试,看看我是否可以过滤几个月,所以它只显示11月的日期,但这不起作用.它给出了以下错误:AttributeError:'Int64Index'对象没有属性'month'.

如果我做

print type(df['Dates'][0])
Run Code Online (Sandbox Code Playgroud)

然后我得到类'pandas.tslib.Timestamp',这让我相信存储在数据帧中的对象类型是Timestamp对象.(我不确定"Int64Index"来自哪里......以前的错误)

我想要做的是:数据框列包含从2000年代早期到现在的日期格式:dd/mm/yyyy.我想仅在11月15日到3月15日期间过滤日期,与年份无关.最简单的方法是什么?

谢谢.

这是df ['Dates'](带索引):

0    2006-01-01
1    2006-01-02
2    2006-01-03
3    2006-01-04
4    2006-01-05
5    2006-01-06
6    2006-01-07
7    2006-01-08
8    2006-01-09
9    2006-01-10
10   2006-01-11
11   2006-01-12
12   2006-01-13
13   2006-01-14
14   2006-01-15
...
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

8
推荐指数
2
解决办法
1万
查看次数

pandas 通过排除日期范围对 DatetimeIndex 进行过滤

我目前有一个pandas.DataFrame,其中有一个pandas.DatetimeIndex和一组值。

我想从此排除给定的所有日期。pandas.date_rangepandas.DataFrame

示例代码:

dates = pd.date_range(start='04/01/2012', end='04/01/2019', freq='MS')
df = pd.DataFrame(data=[100]*len(dates),index=dates,columns=["val"])

exclusion_dates = pd.date_range(start='04/01/2012', end='04/01/2019', freq=pd.offsets.DateOffset(months=12))
Run Code Online (Sandbox Code Playgroud)

我的尝试:

df.loc[~exclusion_dates,:]
Run Code Online (Sandbox Code Playgroud)

理想情况下,这将导致df包含1st April YYYY

但是,这会导致以下错误:

类型错误:一元 ~ 的操作数类型错误:“DatetimeIndex”

我查看了下面的线程,但是找不到任何内容: Filtering Pandas DataFrames on date

python dataframe pandas

7
推荐指数
1
解决办法
5301
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2