Pandas 时间序列数据:选择数据范围内月份的前 X 天
Pandas timeseries data: selecting first X days of month in a range of data
这可能看起来很荒谬但是...我如何 select 在时间序列中只获取每个月前 28 天的数据?
我有跨越多年的时间序列索引数据(大多数日子的数据)。我有的是这样的:
import pandas as pd
df = pd.read_csv('filename')
Out:
Amount:
Date:
2014-07-14 76.59;
2014-07-11 1394.08;
2014-07-08 90.00;
2014-07-06 378.52;
2014-06-30 15.52;
2014-06-30 3016.53;
2014-06-30 0.29;
我正在尝试弄清楚如何使输出看起来像这样(即 - 本月 28 日之后没有数据):
Date: Amount:
2014-07-14 76.59;
2014-07-11 1394.08;
2014-07-08 90.00;
2014-07-06 378.52;
我已经搜索了几个小时,但我是 Python 的新手。我一直在阅读 Documentation 的 Pandas 时间序列数据,但找不到任何我认为有用的东西。我也是 Whosebug 的新手,所以......我可能违反了各种规则。请大发慈悲。答案可能很明显,但对我来说不是。请提出建议?
您可以访问索引的 day 属性并使用它在 df 中创建布尔索引:
In [66]:
df[df.index.day <= 28]
Out[66]:
Amount
Date
2014-07-14 76.59
2014-07-11 1394.08
2014-07-08 90.00
2014-07-06 378.52
可以在此处找到其他属性的列表:http://pandas.pydata.org/pandas-docs/stable/timeseries.html#time-date-components
这可能看起来很荒谬但是...我如何 select 在时间序列中只获取每个月前 28 天的数据?
我有跨越多年的时间序列索引数据(大多数日子的数据)。我有的是这样的:
import pandas as pd
df = pd.read_csv('filename')
Out:
Amount:
Date:
2014-07-14 76.59;
2014-07-11 1394.08;
2014-07-08 90.00;
2014-07-06 378.52;
2014-06-30 15.52;
2014-06-30 3016.53;
2014-06-30 0.29;
我正在尝试弄清楚如何使输出看起来像这样(即 - 本月 28 日之后没有数据):
Date: Amount:
2014-07-14 76.59;
2014-07-11 1394.08;
2014-07-08 90.00;
2014-07-06 378.52;
我已经搜索了几个小时,但我是 Python 的新手。我一直在阅读 Documentation 的 Pandas 时间序列数据,但找不到任何我认为有用的东西。我也是 Whosebug 的新手,所以......我可能违反了各种规则。请大发慈悲。答案可能很明显,但对我来说不是。请提出建议?
您可以访问索引的 day 属性并使用它在 df 中创建布尔索引:
In [66]:
df[df.index.day <= 28]
Out[66]:
Amount
Date
2014-07-14 76.59
2014-07-11 1394.08
2014-07-08 90.00
2014-07-06 378.52
可以在此处找到其他属性的列表:http://pandas.pydata.org/pandas-docs/stable/timeseries.html#time-date-components