小编KHi*_*bma的帖子

为pandas数据帧添加缺少日期

我的数据可以在给定日期有多个事件,也可以在某个日期没有事件.我参加这些活动,按日期计算并绘制它们.但是,当我绘制它们时,我的两个系列并不总是匹配.

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)

python plot date dataframe pandas

95
推荐指数
5
解决办法
7万
查看次数

修改Python Pandas描述的输出

有没有办法省略熊猫描述的一些输出?这个命令给了我我想要的表输出(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)

python pandas

11
推荐指数
4
解决办法
3万
查看次数

在以编程方式更改html选择下拉列表后,onchange不会触发

我有一个内部选择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有关,但我没有发现任何信息说我不能这样做,也没有任何解释如何解决它.

有任何想法吗?

html javascript dojo

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

标签 统计

pandas ×2

python ×2

dataframe ×1

date ×1

dojo ×1

html ×1

javascript ×1

plot ×1