小编osa*_*osa的帖子

为什么DataFrame.loc [[1]]比df.ix [[1]]慢1,800倍,比df.loc [1]慢3,500?

亲自尝试一下:

import pandas as pd
s=pd.Series(xrange(5000000))
%timeit s.loc[[0]] # You need pandas 0.15.1 or newer for it to be that slow
1 loops, best of 3: 445 ms per loop
Run Code Online (Sandbox Code Playgroud)

更新:这是大熊猫的合法错误,可能在2014年8月左右的0.15.1中引入.解决方法:在使用旧版本的pandas时等待新版本; 得到一个前沿的开发.来自github的版本; 在您的发布中手动执行单行修改pandas; 暂时使用.ix而不是.loc.

我有480万行的数据帧,以及选择使用的单个行.iloc[[ id ]](具有单个元素的列表)需要489毫秒,几乎一半的第二,慢1,800x倍的相同.ix[[ id ]],并慢于3,500x倍 .iloc[id](使ID作为一个值,而不是一个列表).公平地说,.loc[list]无论列表的长度如何都需要大约相同的时间,但我不想花费489毫秒,特别是当它.ix快一千倍时,并产生相同的结果.我的理解.ix应该是慢一点,不是吗?

我正在使用熊猫0.15.1.关于索引和选择数据的优秀教程表明,它.ix在某种程度上更为通用,并且可能比.loc和更慢.iloc.具体来说,它说

但是,当轴基于整数时,仅支持基于标签的访问而非位置访问.因此,在这种情况下,通常最好是明确的并使用.iloc或.loc.

这是一个带有基准的iPython会话:

    print 'The dataframe has …
Run Code Online (Sandbox Code Playgroud)

python performance pandas

12
推荐指数
2
解决办法
3079
查看次数

什么是python -i的node.js模拟:运行并进入交互模式?

在python中有一个很好的功能,python -i.例如,python -i myprogram.py将运行该程序,然后进入交互模式,就像我已将整个程序粘贴到交互式shell中一样.

node.js中是否有类似的命令?

node.js

10
推荐指数
3
解决办法
2491
查看次数

Pandas:为什么pandas.Series.std()与numpy.std()不同

另一个更新:已解决(请参阅评论和我自己的答案).

更新:这是我想解释的.

>>> pd.Series([7,20,22,22]).std()
7.2284161474004804
>>> np.std([7,20,22,22])
6.2599920127744575
Run Code Online (Sandbox Code Playgroud)

答案:贝塞尔的校正解释了这一点,N-1而不是N标准差公式的分母.我希望熊猫使用与numpy相同的约定.


有一个相关的讨论在这里,但他们的建议都不能工作.

我有很多不同餐厅的数据.这是我的数据框(想象不止一个餐厅,但效果只用一个复制):

>>> df
restaurant_id  price
id                      
1           10407      7
3           10407     20
6           10407     22
13          10407     22
Run Code Online (Sandbox Code Playgroud)

问题:r.mi.groupby('restaurant_id')['price'].mean()每家餐厅的退货价格均值.我想获得标准偏差.但是,r.mi.groupby('restaurant_id')['price'].std() 返回错误的值.

正如您所看到的,为简单起见,我只提取了一个有四个项目的餐厅.我想找到价格的标准差.只想确认一下:

>>> np.mean([7,20,22,22])
17.75
>>> np.std([7,20,22,22])
6.2599920127744575
Run Code Online (Sandbox Code Playgroud)

我们可以得到相同(正确)的值

>>> np.mean(df)
restaurant_id    10407.00
price               17.75
dtype: float64
>>> np.std(df)
restaurant_id    0.000000
price            6.259992
dtype: float64
Run Code Online (Sandbox Code Playgroud)

(当然,无视平均餐厅的身份.)显然,np.std(df)当我有一家以上的餐厅时,这不是一个解决方案.所以我正在使用groupby.

>>> df.groupby('restaurant_id').agg('std')
                  price
restaurant_id          
10407          7.228416
Run Code Online (Sandbox Code Playgroud)

什么?!7.228416不是6.259992.

让我们再试一次.

>>> …
Run Code Online (Sandbox Code Playgroud)

python statistics group-by numpy pandas

10
推荐指数
1
解决办法
8168
查看次数

django-tables2为不同的行指定不同的属性

我想用django-tables2创建一个表,以便不同的行具有不同的属性.

默认情况下,我得到了

<tr class="odd">
Run Code Online (Sandbox Code Playgroud)

要么

<tr class="even">
Run Code Online (Sandbox Code Playgroud)

如何为某些行指定自己的类?

同样,如果我有一个CheckBoxColumn并且我为此列指定了一些数据,那么它将进入以下:

<input type="checkbox" name="col" value="123"/>
Run Code Online (Sandbox Code Playgroud)

这非常适合确定选中了哪个复选框.但是,如何在创建表时将一些复选框设置为选中状态?

我的场景:用户从大表中选择一些行.例如,表格有

  • 橙色1
  • 橙色2
  • 苹果5
  • 橙色3
  • 苹果4
  • 黄瓜7
  • aaple 1

用户选择aaple 5黄瓜7.

然后我想显示所有苹果和所有黄瓜,因为用户至少挑选了一个苹果和至少一个黄瓜.这允许用户查看其他相关条目:

  • 苹果5
  • 苹果4
  • 黄瓜7

但是,我想通过使用css和/或显示选中的复选框来突出显示用户实际选择的条目:

  • 苹果5
  • 苹果4
  • 黄瓜7

css python checkbox django-tables2

7
推荐指数
2
解决办法
5058
查看次数

为什么我在这里需要括号?Java:"if(true)int i = 0;"

public class Test{
   public void newMethod(){

      if(true)int i=0;

   }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了以下错误

Test.java:4: error: '.class' expected
      if(true)int i=0;
                  ^
Run Code Online (Sandbox Code Playgroud)

但如果我这样写

public class Test{
   public void newMethod(){

      if(true){
         int i=0;
      }

   }
}
Run Code Online (Sandbox Code Playgroud)

那就没有错误!

我知道这个问题对社区没有帮助,但我真的很好奇为什么我需要在这个声明中有括号.我已经用java编程了几年,我刚刚遇到这个错误.

顺便说一句,我正在使用JGrasp.

java grammar compiler-errors jgrasp

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

Django 中的约束:2 个外键中的 1 个必须为 null

我想允许两个外键字段为空。

但两个字段不能同时为空。
事实上,任何时候都必须准确地设置一个。

我该如何表达这一点呢?

外键引用的两个表不相同。

django constraints foreign-keys

5
推荐指数
1
解决办法
1376
查看次数