我的数据可以在给定日期有多个事件,也可以在某个日期没有事件.我参加这些活动,按日期计算并绘制它们.但是,当我绘制它们时,我的两个系列并不总是匹配.
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,idx成为30个日期的范围.S 01-01-2013至09-30-2013但是S可能只有25天或26天,因为在给定日期没有发生任何事件.然后,当我尝试绘制时,我得到一个AssertionError,因为大小不匹配:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
Run Code Online (Sandbox Code Playgroud)
解决这个问题的正确方法是什么?我是否要删除IDX中没有值的日期或(我宁愿这样做)将系列添加到缺少日期的计数为0.我宁愿拥有30天的完整图表,其中包含0值.如果这种方法是正确的,那么有关如何开始的任何建议?我需要某种动态reindex功能吗?
这是一个S(df.groupby(['simpleDate']).size() )的片段,注意没有04和05的条目.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
Run Code Online (Sandbox Code Playgroud) 有没有办法省略熊猫描述的一些输出?这个命令给了我我想要的表输出(simpleDate的countTime和count的平均值)
df.groupby('simpleDate').executeTime.describe().unstack(1)
Run Code Online (Sandbox Code Playgroud)
然而,这就是我想要的,数数和意思.我想删除std,min,max等...到目前为止,我只阅读了如何修改列大小.
我猜的答案是重写这行,而不是使用describe,但是我没有运行simpleDate的运气分组,并且在executeTime上得到了计数.
我可以按日期计算:
df.groupby(['simpleDate']).size()
Run Code Online (Sandbox Code Playgroud)
或按日期执行时间:
df.groupby(['simpleDate']).mean()['executeTime'].reset_index()
Run Code Online (Sandbox Code Playgroud)
但无法弄清楚将它们组合起来的语法.
我想要的输出:
count mean
09-10-2013 8 20.523
09-11-2013 4 21.112
09-12-2013 3 18.531
... .. ...
Run Code Online (Sandbox Code Playgroud) 我有一个内部选择HTML
<select id="league" name="league">
Run Code Online (Sandbox Code Playgroud)
我正在听我的javascript里面的变化.
var league = dojo.byId("league");
dojo.connect(league, "onchange", function (evt) { //do stuff }
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.但是,我有一个链接,我可以点击更新选择:
<a href=javascript:void(0) onclick="updateSelection(league);"> League </a>
Run Code Online (Sandbox Code Playgroud)
链接工作,因为它使用以下函数更新选择的选定值.
function updateSelection(NewLeague){
dojo.byId('league').value = NewLeague; // works
dojo.byId('league').onChange; //this isnt working
//dojo.byId('league').onChange(); //this throws: TypeError: dojo.byId("league").onChange is not a function
}
Run Code Online (Sandbox Code Playgroud)
我的问题,正如我通过其他堆栈帖子阅读的那样,以编程方式更新值不会触发onChange,因此我需要在代码中调用onchange(如上所示).根据内联注释,onChange未被触发或抛出错误.我首先想到的是它与侦听onChange的dojo.Connect有关,但我没有发现任何信息说我不能这样做,也没有任何解释如何解决它.
有任何想法吗?