Pandas 如何使用关系代数(Reframe)按日期过滤并计算这些日期?

Pandas 如何使用关系代数(Reframe)按日期过滤并计算这些日期?,pandas,relational-database,pandas-groupby,relational-algebra,Pandas,Relational Database,Pandas Groupby,Relational Algebra,我真的卡住了。我阅读了基于熊猫的Reframe文档,我自己尝试了多种方法,但仍然不起作用。所以我得到了一个名为weddings的CSV文件,看起来像这样: Weddings, Date Wedding1,20181107 Wedding2,20181107 还有更多的行。如您所见,日期列中有重复项,但我认为这无关紧要。我想计算按日期过滤的婚礼数量,例如,2016年10月5日之后的婚礼数量(20161005)。所以首先我尝试了这个: Weddings = Relation('weddings.c

我真的卡住了。我阅读了基于熊猫的Reframe文档,我自己尝试了多种方法,但仍然不起作用。所以我得到了一个名为weddings的CSV文件,看起来像这样:

Weddings, Date
Wedding1,20181107
Wedding2,20181107
还有更多的行。如您所见,日期列中有重复项,但我认为这无关紧要。我想计算按日期过滤的婚礼数量,例如,2016年10月5日之后的婚礼数量(20161005)。所以首先我尝试了这个:

Weddings = Relation('weddings.csv')
Weddings.sort(['Date']).query('Date > 20161005').project(['Weddings', 'Date'])
这对我来说似乎是合乎逻辑的,但我得到了一个“日期”键错误,不知道为什么?所以我尝试了更简单的方法

Weddings = Relation('weddings.csv')
Weddings.groupby(['Date']).count()
这也不起作用,我仍然得到一个键错误“日期”,不知道为什么。有人能帮我吗

跟踪

KeyError                                  Traceback (most recent call last)
<ipython-input-44-b358cdf55fdb> in <module>()
  1 
  2 Weddings = Relation('weddings.csv')
----> 3 weddings.sort(['Date']).query('Date > 20161005').project(['Weddings', 'Date'])
  4 
  5 

~\Documents\Reframe.py in sort(self, *args, 
**kwargs)
110         """
111 
--> 112         return Relation(super().sort_values(*args, **kwargs))
113 
114     def intersect(self, other):

~\Anaconda3\lib\site-packages\pandas\core\frame.py in sort_values(self, by, 
axis, ascending, inplace, kind, na_position)
4416             by = by[0]
4417             k = self._get_label_or_level_values(by, axis=axis,
-> 4418                                                 stacklevel=stacklevel)
4419 
4420             if isinstance(ascending, (tuple, list)):

~\Anaconda3\lib\site-packages\pandas\core\generic.py in 
_get_label_or_level_values(self, key, axis, stacklevel)
1377             values = self.axes[axis].get_level_values(key)._values
1378         else:
-> 1379             raise KeyError(key)
1380 
1381         # Check for duplicates

KeyError: 'Date'
keyrerror回溯(最近一次调用)
在()
1.
2婚礼=关系('Weddings.csv')
---->3婚礼。排序(['Date'])。查询('Date>20161005')。项目(['weddings','Date']))
4.
5.
~\Documents\Reframe.py排序(self,*args,
**kwargs)
110         """
111
-->112返回关系(super().sort_值(*args,**kwargs))
113
114 def intersect(自身、其他):
排序值中的~\Anaconda3\lib\site packages\pandas\core\frame.py(self、by、,
轴、上升轴、在位轴、种类轴、未定位轴)
4416 by=by[0]
4417 k=自身。获取标签值或级别值(通过,轴=轴,
->4418堆栈级别=堆栈级别)
4419
4420如果isinstance(升序,(元组,列表)):
中的~\Anaconda3\lib\site packages\pandas\core\generic.py
_获取\u标签\u或\u级别\u值(self、key、axis、stacklevel)

1377 values=self.axes[axis]。获取\u级别\u值(键)。\u值 1378其他: ->1379升起钥匙错误(钥匙) 1380 1381#检查有无重复 KeyError:“日期”
能否打印
df.列
屏幕上可能有空白columns@Datanovice我知道了,是这样吗?索引(['Weddings','Date'],dtype='object')看起来不像任何空白,你应该发布完整的堆栈trace1377 values=self.axes[axis]。获取级别值(键)._值1378其他:->1379 raise KeyError(键)1380 1381#检查重复项KeyError:'Date'@DATANYOUR我会将整个跟踪添加到我的帖子中