我想合并两个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程序中访问R. 我知道Rpy2,pyrserve和PypeR.
这三种选择有哪些优点或缺点?
我想取得一些成果
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"的库
有没有办法强制我被视为变量并在调用库之前解决?
我有一个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.
我在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时遇到大型递归错误?
我想将两个大的稀疏矩阵相乘.第一个是150,000x300,000,第二个是300,000x300,000.第一个矩阵有大约1,000,000个非零项目,第二个矩阵有大约20,000,000个非零项目.有没有直接的方法来获得这些矩阵的产品?
我目前正在以csr或csc格式存储矩阵并尝试matrix_a * matrix_b.这给出了错误ValueError: array is too big.
我猜我可以用pytables将单独的矩阵存储在磁盘上,将它们拆分成更小的块,并从许多块的产品构建最终的矩阵产品.但是我希望能够实现一些相对简单的东西.
编辑:我希望有一个适用于任意大型稀疏矩阵的解决方案,同时隐藏(或避免)涉及在内存和磁盘之间来回移动各个块的簿记.
我在提交和作业之间有多对一的关系(一个学生可能有一个作业有多个提交)。我想创建一个查询,该查询显示没有相关提交的作业。
我的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)
感谢您对查询语法的任何帮助。
我很好奇为什么第一个应用(以及还原)的参数会影响函数的行为,如下面的代码片段所示.
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)