小编sim*_*tim的帖子

如何为r中两个数据帧之间的匹配观察分配相同的唯一ID?


当我有两个(或更多)数据帧时,我有一个实际问题,并希望为每个数据集中的每个匹配观察分配唯一的ID,例如:

#1. Create dataframe df1:

a1 <- c(1, 1, 1, 1, 2, 2, 2, 2, 1, 1)
b1 <- c(1, 5, 3, 2, 3, 4, 5, 1, 5, 2)
c1 <- c("white", "red", "black", "white", "red", 
        "white", "black", "silver", "red", "green")
df1 <- data.frame(a1, b1, c1)
df1

   a1 b1     c1
1   1  1  white
2   1  5    red
3   1  3  black
4   1  2  white
5   2  3    red
6   2  4  white
7   2  5  black
8   2 …
Run Code Online (Sandbox Code Playgroud)

r uniqueidentifier matching

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

计算 Spark scala 中几列的平均值

我正在寻找一种方法来计算一些统计数据,例如使用 Scala 计算 Spark 中几个选定列的平均值。鉴于该data对象是我的 Spark DataFrame,很容易仅计算一列的平均值,例如

data.agg(avg("var1") as "mean var1").show
Run Code Online (Sandbox Code Playgroud)

此外,我们可以轻松计算由其他一些列的值交叉制表的平均值,例如:

data.groupBy("category").agg(avg("var1") as "mean_var1").show
Run Code Online (Sandbox Code Playgroud)

但是我们如何计算 DataFrame 中列列表的平均值呢?我尝试运行这样的东西,但它没有用:

scala> data.select("var1", "var2").mean().show
<console>:44: error: value mean is not a member of org.apache.spark.sql.DataFrame
       data.select("var1", "var2").mean().show
                                   ^
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

总结numpy数组中的非零元素

我想对数组 (1-d) 的非零元素求和,但对正整数和负整数(它们只能是 1 和 2)分别进行汇总,并在它们所在的位置显示零。

数组示例:

array = np.array([0, 0, 0, -1, -1, 0, 1, 2, 1, 1, 0, -1, 0, 1, 1, -1, -2])
Run Code Online (Sandbox Code Playgroud)

输出:

array([0, 0, 0, -2, 0, 5, 0, -1, 0, 2, -3])
Run Code Online (Sandbox Code Playgroud)

我认为我的问题是我不知道如何将数组中的正值和负值序列分开。

python numpy numpy-ndarray

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

将多行字符串强制转换为Java中的List <String>

我的应用程序中某些Model类的输出之一是以下格式的多行字符串:

System.out.println(str); //output:

row1
row2
row3
row4
Run Code Online (Sandbox Code Playgroud)

根据输出,str字符串中可能有许多值/行,因此字符串仅用于示例目的.List<String>如果可能的话,我希望这个字符串被强制转换,因此打印输出将显示为:

List<String> listStr = new ArrayList<String>();
System.out.println(listStr); //output:

[row1, row2, row3, row4]
Run Code Online (Sandbox Code Playgroud)

我试过很多不同的方法,例如:

for (Model modelRow : modelTableView.getItems()) {
            str = modelRow.getInfo();
            System.out.println(str);
            listStr = new ArrayList<String>(Arrays.asList(str.split("\n")));
}
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,只返回最后一个值,或者我获得所有值的单个数组,例如:

[row1]
[row2]
[row3]
[row4]
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能在一个列表中包含所有值[row1, row2, row3, row4]?我错过了什么?任何帮助或指示将不胜感激.

编辑

我避免使用分离器以一个str.split()方法和我查询的细胞中firstColumn的内modelTableView直接使用以下内容:

for (int i=0; i < modelTableView.getItems().size(); i++) {
            str = firstColumn.getCellData(i);
            System.out.println(str);
            listStr = Arrays.asList(str);
}
Run Code Online (Sandbox Code Playgroud)

代码不再返回NullPointerException并允许继续,但输出listStr只是原始str …

java arrays string javafx

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