小编Dan*_*anB的帖子

使用pandas merge时如何保持索引

我想合并两个DataFrames,并保持第一帧的索引作为合并数据集的索引.但是,当我执行合并时,生成的DataFrame具有整数索引.如何指定我想保留左数据框的索引?

In [4]: a = pd.DataFrame({'col1': {'a': 1, 'b': 2, 'c': 3}, 
                          'to_merge_on': {'a': 1, 'b': 3, 'c': 4}})

In [5]: b = pd.DataFrame({'col2': {0: 1, 1: 2, 2: 3}, 
                          'to_merge_on': {0: 1, 1: 3, 2: 5}})

In [6]: a
Out[6]:
   col1  to_merge_on
a     1            1
b     2            3
c     3            4

In [7]: b
Out[7]:
   col2  to_merge_on
0     1            1
1     2            3
2     3            5

In [8]: a.merge(b, how='left')
Out[8]:
   col1  to_merge_on  col2
0     1            1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Rpy2,pyrserve和PypeR如何比较?

我想从Python程序中访问R. 我知道Rpy2,pyrserve和PypeR.

这三种选择有哪些优点或缺点?

python r rpy2 pyrserve pyper

56
推荐指数
4
解决办法
2万
查看次数

在R中调用library()并将变量作为参数

我想取得一些成果

libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest")
for (i in libs) {
  if(!is.element(i, .packages()) {
    install.packages(i)
  }
  library(i)
}
Run Code Online (Sandbox Code Playgroud)

对库(i)的调用不会将i替换为存储在变量i中的值.相反,它试图加载名为"i"的库

有没有办法强制我被视为变量并在调用库之前解决?

r

16
推荐指数
2
解决办法
5233
查看次数

我可以在不离开ipython的情况下停止在ipython中执行当前模块

我想打破当前正在运行的程序并退回到shell(无需重启ipython)

ipython

14
推荐指数
1
解决办法
3万
查看次数

在pandas中将数据转换为缺失

我有一个DataFrame混合0和其他数字.我想将0转换为缺失.

例如,我正在寻找将转换的命令

In [618]: a=DataFrame(data=[[1,2],[0,1],[1,2],[0,0]])

In [619]: a
Out[619]: 
   0  1
0  1  2
1  0  1
2  1  2
3  0  0
Run Code Online (Sandbox Code Playgroud)

In [619]: a
Out[619]: 
   0   1
0  1   2
1  NaN 1
2  1   2
3  NaN NaN
Run Code Online (Sandbox Code Playgroud)

我尝试了pandas.replace(0,NaN),但是我得到一个错误,即没有定义NaN.我没有看到从哪里导入NaN.

python numpy pandas

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

在clojure中使用recur时溢出

我在clojure中有一个简单的素数计算器(一种效率低下的算法,但我现在只想了解recur的行为).代码是:

(defn divisible [x,y] (= 0 (mod x y)))

(defn naive-primes [primes candidates] 
  (if (seq candidates)
      (recur  (conj primes (first candidates)) 
              (remove (fn [x] (divisible x (first candidates))) candidates))
      primes)
)
Run Code Online (Sandbox Code Playgroud)

只要我不想找到太多数字,这就有用.例如

(print (sort (naive-primes [] (range 2 2000))))
Run Code Online (Sandbox Code Playgroud)

作品.对于任何需要更多递归的事情,我都会遇到溢出错误.

    (print (sort (naive-primes [] (range 2 20000))))
Run Code Online (Sandbox Code Playgroud)

不管用.一般来说,我是否在没有尝试TCO的情况下再次使用复发或再次调用naive-primes似乎没有任何区别.为什么我在使用recur时遇到大型递归错误?

primes tail-recursion clojure

9
推荐指数
1
解决办法
820
查看次数

在python中乘以大型稀疏矩阵

我想将两个大的稀疏矩阵相乘.第一个是150,000x300,000,第二个是300,000x300,000.第一个矩阵有大约1,000,000个非零项目,第二个矩阵有大约20,000,000个非零项目.有没有直接的方法来获得这些矩阵的产品?

我目前正在以csr或csc格式存储矩阵并尝试matrix_a * matrix_b.这给出了错误ValueError: array is too big.

我猜我可以用pytables将单独的矩阵存储在磁盘上,将它们拆分成更小的块,并从许多块的产品构建最终的矩阵产品.但是我希望能够实现一些相对简单的东西.

编辑:我希望有一个适用于任意大型稀疏矩阵的解决方案,同时隐藏(或避免)涉及在内存和磁盘之间来回移动各个块的簿记.

python numpy scipy sparse-matrix matrix-multiplication

7
推荐指数
1
解决办法
5498
查看次数

Django查询多对一关系,没有外键关系的实例

我在提交和作业之间有多对一的关系(一个学生可能有一个作业有多个提交)。我想创建一个查询,该查询显示没有相关提交的作业。

我的models.py包括:

class Assignment(model.Model):
    student=models.ForeignKey("Student")
    timeStarted=models.DateTimeField(null=True)

class Submission(models.Model):
    assignment=models.ForeignKey("Assignment")
    timeSubmitted=models.DateTimeField(auto_now_add=True)
    answerFile=models.FileField(upload_to="/%Y/%m/%d")
Run Code Online (Sandbox Code Playgroud)

感谢您对查询语法的任何帮助。

django foreign-key-relationship django-queryset

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

为什么Clojure应用处理向量不同于列表?

我很好奇为什么第一个应用(以及还原)的参数会影响函数的行为,如下面的代码片段所示.

user=> (apply conj '() [1 2 3])
(3 2 1)
user=> (apply conj [] [1 2 3])
[1 2 3]

user=> (apply conj '() '(1 2 3))
(3 2 1)
user=> (apply conj [] '(1 2 3))
[1 2 3]
Run Code Online (Sandbox Code Playgroud)

reduce clojure apply

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