小编YOL*_*OLO的帖子

导入字段中的命名空间未导入自:应使用所有声明的导入

我正在开发我的 R 包。我收到此错误:

\n\n
Namespaces in Imports field not imported from:\n   \xe2\x80\x98kableExtra\xe2\x80\x99 \xe2\x80\x98ranger\xe2\x80\x99\n  All declared Imports should be used.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在 Linux 和 Windows 平台上使用 ie 时遇到此错误devtools::check_rhub()。当我在本地(mac os)检查我的包时, devtools::check()所有检查都成功通过。

\n\n

我更深入地研究了描述文件的导入,目前我正在做:

\n\n
Imports:  \n    ranger(>= 0.10.1),\n    Metrics(>= 0.1.3),\n    kableExtra(>= 0.9.0)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在使用来自rangerkableExtrausing ::like 的函数ranger::function_namekableExtra::function_name因为我只需要一两个函数。

\n\n

我没有importFrom在命名空间文件中执行操作。因为,正如我所说,我只需要借用 1 或 2 个函数。

\n\n

为什么我会收到此错误?我缺少什么?

\n

r r-package

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

groupby并使用pyspark将多列转换为列表

我正在使用pyspark。所以我有一个火花数据框,看起来像:

a | b | c
5 | 2 | 1
5 | 4 | 3
2 | 4 | 2
2 | 3 | 7
Run Code Online (Sandbox Code Playgroud)

需要输出:

a | b_list
5 | 2,1,4,3
2 | 4,2,3,7
Run Code Online (Sandbox Code Playgroud)

保持输出中给定的顺序很重要。

pyspark spark-dataframe

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

为什么切片函数在没有显式使用 dplyr 的情况下无法工作

我正在学习使用 dplyr 并遇到了函数切片。我尝试使用或不使用显式 dplyr 来调用它。

它适用于显式调用,但在没有 dplyr 的情况下调用时会出错。有人可以指导我错误的根源是什么吗?

据我所知,切片函数是 dplyr 独有的,还是也属于其他某个包?

> library("tidyverse") 
> sessionInfo()

R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.14.1

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats4    parallel  stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] faraway_1.0.7       pd.hg.u95av2_3.12.0 DBI_1.0.0           oligo_1.46.0        oligoClasses_1.44.0
 [6] RSQLite_2.1.1       Biostrings_2.50.2   XVector_0.22.0      IRanges_2.16.0      S4Vectors_0.20.1   
[11] ArrayExpress_1.42.0 Biobase_2.42.0      BiocGenerics_0.28.0 bindrcpp_0.2.2      forcats_0.3.0      
[16] stringr_1.3.1       dplyr_0.7.8         purrr_0.2.5         tidyr_0.8.2         tibble_2.0.0       
[21] ggplot2_3.1.0       tidyverse_1.2.1     readr_1.3.1 …
Run Code Online (Sandbox Code Playgroud)

r slice dplyr

5
推荐指数
2
解决办法
7036
查看次数

使用pyspark从字典中映射数据框中的值

我想知道如何在数据框中的特定列中映射值.

我有一个数据框,看起来像:

df = sc.parallelize([('india','japan'),('usa','uruguay')]).toDF(['col1','col2'])

+-----+-------+
| col1|   col2|
+-----+-------+
|india|  japan|
|  usa|uruguay|
+-----+-------+
Run Code Online (Sandbox Code Playgroud)

我有一个字典,我想要映射值.

dicts = sc.parallelize([('india','ind'), ('usa','us'),('japan','jpn'),('uruguay','urg')])
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

+-----+-------+--------+--------+
| col1|   col2|col1_map|col2_map|
+-----+-------+--------+--------+
|india|  japan|     ind|     jpn|
|  usa|uruguay|      us|     urg|
+-----+-------+--------+--------+
Run Code Online (Sandbox Code Playgroud)

我尝试过使用lookup function它但不起作用.它抛出错误SPARK-5063.以下是我失败的方法:

def map_val(x):
    return dicts.lookup(x)[0]

myfun = udf(lambda x: map_val(x), StringType())

df = df.withColumn('col1_map', myfun('col1')) # doesn't work
df = df.withColumn('col2_map', myfun('col2')) # doesn't work
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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

计算数据帧的模式而不对结果进行排序

我有一个像这样的数据框:

df = pd.DataFrame({'a1': [2,3,4,8,8], 'a2': [2,5,7,5,10], 'a3':[1,9,4,10,2]})

    a1  a2  a3
0   2   2   1
1   3   5   9
2   4   7   4
3   8   5   10
4   8   10  2
Run Code Online (Sandbox Code Playgroud)

输出应该是:

0  2 
1  3
2  4
3  8 
4  8
Run Code Online (Sandbox Code Playgroud)

该怎么做:我想按行计算众数,如果众数不存在,我想要 a1 (第一列)中的值。

例如:在第二行中(3,5,9),模式不存在,因此我进入3输出。

注意:我已经尝试过df.mode(axis=1),但这似乎会按行打乱值的序列,因此我并不总是获得输出中第一列的值。

python mode dataframe pandas

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

如何在redis python中将具有值的字典存储为列表

我是 redis 的新手,我希望我早点知道它。

我想在redis中存储这样的东西。它应该存储为哈希值。

{'fruits':['apple','mango','banana'],
 'veggies':['spinach','onion','beans']}
Run Code Online (Sandbox Code Playgroud)

我尝试用redis-collectionpython 包来做到这一点。我面临的问题是,保存.rdb并再次重新加载后,我似乎无法访问密钥。

在文档中,它说我应该检索密钥及其哈希值。我认为必须有更好的方法。

请帮忙。

python redis

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

链接 groupby 并应用 pandas

我正在寻找一种方法来链接 groupby 并应用,就像这样(参见下面的代码以获得具体示例):

df.groupby("a").apply(func_1).groupby("b").apply(func_2)
Run Code Online (Sandbox Code Playgroud)

我想它不起作用,因为 groupby 需要输入一个数据帧,这并不总是上面第二个 groupby 的情况(可以输入一个系列,参见示例)。一个解决方案可能是让第一个应用程序输出 func_1 的结果加上原始数据帧,但我还没有找到如何做到这一点。

我正在寻找一种通用的解决方法,而不仅仅是这个特定示例的解决方法。

示例:假设我想计算 b 中每个组的 a 路缘下面积,然后计算 c 中每个组的这些区域的总和。

df=pd.DataFrame({"a":np.arange(8),"b":np.repeat(np.arange(4),2),
"c":np.repeat(np.arange(2),4)})

df
   a  b  c
0  0  0  0
1  1  0  0
2  2  1  0
3  3  1  0
4  4  2  1
5  5  2  1
6  6  3  1
7  7  3  1


df.groupby("b").apply(lambda x: trapz(x["a"])).groupby("c").apply(sum)   
Traceback (most recent call last):
[...]
KeyError: 'c'


#Expected output
c
0     3.0
1    11.0


#I know that this code …
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-apply pandas-groupby

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

如何按R中的值和键对列表进行排序?

我试图在R中转换一段python代码,但我不知道如何实现它.

在python中我们可以做到:

## dictionary
a_list = {'red':23, 'black':12,'white':4,'orange':79}

## sort by key
dict(sorted(a_list.items()))
{'black': 12, 'orange': 79, 'red': 23, 'white': 4}

## sort by values
sorted(a_list.items(), key=lambda x: x[1])
[('white', 4), ('black', 12), ('red', 23), ('orange', 79)]
Run Code Online (Sandbox Code Playgroud)

对于这个问题,我有一个:

a_list <- list(red=23, black=12, white = 4, orange=79)
Run Code Online (Sandbox Code Playgroud)

我想以两种方式对此列表进行排序,例如输出为:

输出1(按键排序): list(black=12, orange=79, red=23, white = 4)

输出2(按值排序): list(white = 4,black=12, red=23,orange=79)

我怎样才能做到这一点 ?

r dataframe

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

在R中的数据表中对连续的行进行分组

我无法找到这个简单问题的解决方案.我有一个这样的数据框:

df = data.table(X1 = 1:12, X2 = LETTERS[1:12])
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为的新变量group,我希望将连续行分组为3.例如:行1-3,将是group0,行4-6将是group2,依此类推.

结果预期:

    X1 X2 group
 1:  1  A     0
 2:  2  B     0
 3:  3  C     0
 4:  4  D     1
 5:  5  E     1
 6:  6  F     1
 7:  7  G     2
 8:  8  H     2
 9:  9  I     2
10: 10  J     3
11: 11  K     3
12: 12  L     3
Run Code Online (Sandbox Code Playgroud)

r data.table

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

如何计算列表中的唯一字符串

我有一个包含数字和名字的清单.

lst = ['new car', '232', 'famous bike','232', 'new car', '232plane', 'new car', 'plane232']
Run Code Online (Sandbox Code Playgroud)

我只想new car, famous bike数字而不是数字或字母数字.

输出将是2,因为有两个独特的单词:汽车,自行车.

我知道有一个简单的答案,但我无法理解它.

谢谢.

python python-3.x pandas

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