小编Aka*_*all的帖子

何时在cassandra中覆盖行

我的理解是,当插入具有相同主键的另一行时,将覆盖行.

例如:

我有专栏(user_id int, item_id int, site_id int)和我的专栏PRIMARY KEY(user_id, item_id)

如果我有下表:

user_id, item_id, site_id
   2       3        4
Run Code Online (Sandbox Code Playgroud)

我插入user_id : 2, item_id : 3, site_id : 10,我的新表将是:

user_id, item_id, site_id
   2       3        10
Run Code Online (Sandbox Code Playgroud)

user_id, item_id, site_id
   2       3        4
   2       3        10
Run Code Online (Sandbox Code Playgroud)

这种简单的案例是否适用于所有情况?我可能没有注意到任何微妙之处吗?另外,我在文档中找不到这个并通过玩cassandra来得出这个结论,任何人都可以提供文档源吗?

insert cql cassandra

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

使用boost :: numpy :: ndarray时出现分段错误

当我试图boost::numpy::ndarray作为一个论点传递时,我得到了我认为是一个奇怪的seg错误:

#include <iostream>
#include <boost/python.hpp>
#include <boost/numpy.hpp>


void say_hello(boost::numpy::ndarray& my_array)
//void say_hello(int x) This works fine
{
  std::cout<<"Hello"<<std::endl;
}

BOOST_PYTHON_MODULE(hello_ext)
{
    using namespace boost::python;
    def("say_hello", say_hello);

}
Run Code Online (Sandbox Code Playgroud)

我知道这个例子很愚蠢,但我不应该在那里遇到一个seg错误,这是我能够将问题减少到的最小的例子.也许我需要指定ndarray维度的类型或数量,但我找不到任何文档.我在看这个,但似乎没有什么帮助.我的直觉是我错过了一些简单的东西,但我只是看不到它.

当我运行这个:

In [1]: from hello_ext import *

In [2]: import numpy as np

In [3]: say_hello(np.array([3,4,5]))
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我的Makefile:

PYTHON_VERSION = 2.7
PYTHON_INCLUDE = /usr/include/python$(PYTHON_VERSION)


BOOST_INC = /usr/include
BOOST_LIB = /usr/lib

TARGET = hello_ext

$(TARGET).so: $(TARGET).o
    g++ -std=c++11 -shared -Wl,--export-dynamic $(TARGET).o -L$(BOOST_LIB) -lboost_python -lboost_numpy …
Run Code Online (Sandbox Code Playgroud)

c++ python boost numpy

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

R:如果一行中的元素满足某些特征,我该如何删除行?

我试图找出一种方法来删除矩阵行,如果该行中的单元格满足某个特征.例如:

> mm <- matrix(c(1,2,3,2,3,4,1,2,3,4),5,2)
> mm
     [,1] [,2]
[1,]    1    4
[2,]    2    1
[3,]    3    2
[4,]    2    3
[5,]    3    4
Run Code Online (Sandbox Code Playgroud)

如果该行中的第一列元素是2,我想删除行.最后我想要这样:

   [,1] [,2]
[1,]    1    4
[2,]    3    2
[3,]    3    4
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

如果不是删除第一列元素为2的所有行,而是删除第一列元素对应于列表中包含的一组数字的行,那么更通用的方法呢?例如

delete_list <- c(2,3)
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

先感谢您.

r delete-row

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

在R中的每个外部循环迭代中打印j

对于以下代码:我无法弄清楚为什么j不在每个外部循环迭代上打印.

x = 0

for (j in 1:15)
{
for (i in 1:100000)
{
x = x + 1
}
print(j)
}
Run Code Online (Sandbox Code Playgroud)

R似乎正在做的是运行整个事情,最后打印出所有js,而不是逐个打开每个循环.

似乎j应该在每次循环迭代后打印,我在这里缺少什么?

有没有办法让它j在每次外部循环迭代中打印出来?

谢谢

r

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

numpy.array的部分内容

假设我有以下数组:

a = np.array([[1,2,3,4,5,6], 
              [7,8,9,10,11,12],
              [3,5,6,7,8,9]])
Run Code Online (Sandbox Code Playgroud)

我想总结第一行的前两个值:1+2 = 3,然后接下来的两个值:3+4 = 7,然后5+6 = 11,依此类推每一行.我想要的输出是这样的:

array([[ 3,  7, 11],
       [15, 19, 23],
       [ 8, 13, 17]])
Run Code Online (Sandbox Code Playgroud)

我有以下解决方案:

def sum_chunks(x, chunk_size):
    rows, cols = x.shape
    x = x.reshape(x.size / chunk_size, chunk_size)
    return x.sum(axis=1).reshape(rows, cols/chunk_size)
Run Code Online (Sandbox Code Playgroud)

但感觉不必要的复杂,有更好的方法吗?也许内置?

python arrays numpy

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

为什么collections.Counter将numpy.nan视为相等?

我对以下行为感到惊讶:

>>> import numpy as np
>>> from collections import Counter
>>> my_list = [1,2,2, np.nan, np.nan]
>>> Counter(my_list)
Counter({nan: 2, 2: 2, 1: 1}) # Counter treats np.nan as equal and 
                              # tells me that I have two of them
>>> np.nan == np.nan          # However, np.nan's are not equal  
False
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

当我使用float('nan')而不是np.nan,我得到了我期望的行为:

>>> my_list = [1,2,2, float('nan'), float('nan')]
>>> Counter(my_list)
Counter({2: 2, nan: 1, 1: 1, nan: 1}) # two different nan's
>>> float('nan') …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

当列名是整数时,按列号索引pandas DataFrame

我试图保留DataFrame的某些列,并且当列名是字符串时它可以正常工作:

In [2]: import numpy as np

In [3]: import pandas as pd

In [4]: a = np.arange(35).reshape(5,7)

In [5]: df = pd.DataFrame(a, ['x', 'y', 'u', 'z', 'w'], ['a', 'b', 'c', 'd', 'e', 'f', 'g'])

In [6]: df
Out[6]: 
    a   b   c   d   e   f   g
x   0   1   2   3   4   5   6
y   7   8   9  10  11  12  13
u  14  15  16  17  18  19  20
z  21  22  23  24  25  26  27
w  28 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

究竟是什么.select()呢?

使用时我遇到了令人惊讶的行为.select():

>>> my_df.show()
+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|  3|  5|
|  2|  4|  6|
+---+---+---+

>>> a_c = s_df.select(col("a"), col("c")) # removing column b
>>> a_c.show()
+---+---+
|  a|  c|
+---+---+
|  1|  5|
|  2|  6|
+---+---+

>>> a_c.filter(col("b") == 3).show() # I can still filter on "b"!
+---+---+
|  a|  c|
+---+---+
|  1|  5|
+---+---+
Run Code Online (Sandbox Code Playgroud)

这种行为让我感到疑惑......以下几点是否正确?

DataFrame只是视图,简单的DataFrame就是它自己的视图.在我的情况下a_c只是一个视图my_df.

当我创建a_c没有创建新数据时,a_c只是指向相同的数据my_df指向.

如果有其他相关信息,请添加!

apache-spark pyspark

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

有效地找到两个2-D numpy数组的行交叉点

我试图找出一种找到两个行交叉点的有效方法np.arrays.

两个数组具有相同的形状,并且每行中的重复值不会发生.

例如:

import numpy as np

a = np.array([[2,5,6],
              [8,2,3],
              [4,1,5],
              [1,7,9]])

b = np.array([[2,3,4],  # one element(2) in common with a[0] -> 1
              [7,4,3],  # one element(3) in common with a[1] -> 1
              [5,4,1],  # three elements(5,4,1) in common with a[2] -> 3
              [7,6,9]]) # two element(9,7) in common with a[3] -> 2
Run Code Online (Sandbox Code Playgroud)

我想要的输出是: np.array([1,1,3,2])

使用循环很容易做到这一点:

def get_intersect1ds(a, b):
    result = np.empty(a.shape[0], dtype=np.int)
    for i in xrange(a.shape[0]):
        result[i] = (len(np.intersect1d(a[i], b[i])))
    return result
Run Code Online (Sandbox Code Playgroud)

结果:

>>> get_intersect1ds(a, …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

随机森林回归中的样本量

如果正确理解,当计算随机森林估计量时,通常会应用自举,这意味着仅使用来自样本(i)的数据构建树(i),并选择替换.我想知道sklearn RandomForestRegressor使用的样本的大小是多少.

我看到的唯一一件事就是:

bootstrap : boolean, optional (default=True)
    Whether bootstrap samples are used when building trees.
Run Code Online (Sandbox Code Playgroud)

但是没有办法指定样本大小的大小或比例,也没有告诉我默认的样本大小.

我觉得应该有办法至少知道默认的样本大小是什么,我错过了什么?

python machine-learning random-forest scikit-learn

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