小编Jen*_*nks的帖子

将pyspark字符串转换为日期格式

我有一个日期pyspark数据帧,其格式为字符串列MM-dd-yyyy,我试图将其转换为日期列.

我试过了:

df.select(to_date(df.STRING_COLUMN).alias('new_date')).show()

我得到一串空值.有人可以帮忙吗?

apache-spark apache-spark-sql pyspark pyspark-sql

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

ggpubr 未在 ggdotchart 中创建多个条形图

利用 中的示例包代码ggpubr,该ggdotchart函数不会创建单独的段,如示例中所示,而是只有一个段,尽管点似乎放置在正确的方向。有谁对可能出现的问题有任何提示吗?我认为这可能是由于 tibbles vs. df 等因素造成的,但我一直无法确定问题所在。

代码:

df <- diamonds %>%
  filter(color %in% c("J", "D")) %>%
  group_by(cut, color) %>%
  summarise(counts = n()) 

ggdotchart(df, x = "cut", y ="counts",
           color = "color", palette = "jco", size = 3, 
           add = "segment", 
           add.params = list(color = "lightgray", size = 1.5),
           position = position_dodge(0.3),
           ggtheme = theme_pubclean()
           )
Run Code Online (Sandbox Code Playgroud)

预期输出为: 在此输入图像描述

但我得到的是: 在此输入图像描述

r ggplot2 ggpubr

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

rShiny textOutput和Paragraph在同一行

我试图将renderText元素的形式放在textOutput标头旁边​​,但它始终将它们放在不同的行上。

h1('This is the number:'), textOutput(output$number)

这也不起作用:

p(h1('This is the number:'), textOutput(output$number))

任何人都可以解决吗?

r shiny

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

Networkx 节点大小

我正在创建一个 networkX 图,其节点大小与节点相关。创建图形时,节点大小与传递给图形的大小列表不正确对应。任何人都可以帮忙吗?这是我正在使用的代码:

import networkx as nx

G = nx.Graph()
nodelist = []
edgelist = []
sizes = []
for i in Results[0]:
    if i > 0.10 and i != 1:
        Normnodesize = (i/Maxcs)*800
        Findnode = np.where(Results[0]==i)
        nodelist.append(str(Findnode[0][0]))
        edgelist.append((0,str(Findnode[0][0])))
        sizes.append(int(Normnodesize))

G.add_nodes_from(nodelist)
G.add_edges_from(edgelist)

pos = nx.fruchterman_reingold_layout(G)

nx.draw_networkx(G,pos,node_size=sizes)
Run Code Online (Sandbox Code Playgroud)

如果您查看节点、边、节点权重,则打印输出如下所示:

   16 (0, '16') 608
   38 (0, '38') 732
   55 (0, '55') 549
   63 (0, '63') 800
   66 (0, '66') 559
  106 (0, '106') 693
  117 (0, '117') 476
  124 (0, '124') 672
  130 …
Run Code Online (Sandbox Code Playgroud)

python networkx

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

替换"?" 在Corrplot的瓷砖

我有一个在相关矩阵中有NA的corrplot.Corrplot将NA相关矩阵中的切片替换为"?" (见下文).有没有人知道用另一种颜色替换这些瓷砖的方法,而不是问号?

此代码提供以下图像:

corrplot(matrix(data = c(0.5,0.2,NA,NA, 0.7,0.5),nrow = 3, ncol = 2),method="shade",shade.col=NA, type = 'lower')

在此输入图像描述

我希望将左下方的图块定义为不在相关颜色上腭的颜色.

r r-corrplot

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

Pyspark过滤器使用从列表开始

我有一个元素列表,可能会启动一些RDD记录的字符串.如果我有和元素列表的yesno,它们应该匹配yes23,no3但不是35yes41no.使用pyspark,我如何使用startswith列表或元组中的任何元素.

DF的一个例子是:

+-----+------+
|index| label|
+-----+------+
|    1|yes342|
|    2| 45yes|
|    3| no123|
|    4|  75no|
+-----+------+
Run Code Online (Sandbox Code Playgroud)

当我尝试:

Element_List = ['yes','no']
filter_DF = DF.where(DF.label.startswith(tuple(Element_List)))
Run Code Online (Sandbox Code Playgroud)

生成的df应该类似于:

+-----+------+
|index| label|
+-----+------+
|    1|yes342|
|    3| no123|
+-----+------+
Run Code Online (Sandbox Code Playgroud)

相反,我得到错误:

Py4JError: An error occurred while calling o250.startsWith. Trace:
py4j.Py4JException: Method startsWith([class java.util.ArrayList]) does not exist
at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)
at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)
at py4j.Gateway.invoke(Gateway.java:272)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:214)
at java.lang.Thread.run(Thread.java:745) …
Run Code Online (Sandbox Code Playgroud)

python apache-spark apache-spark-sql pyspark

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

使用 str_detect 过滤多列

我正在利用str_detecttidyverse中的函数过滤掉与列表中任何字符串开头匹配的数据帧的行。目前,|在我的filter语句中的每列之间进行过滤时使用语句。有没有办法str_detect在不使用 or 语句的情况下跨多列使用?我目前在下面使用的代码有效,但无法扩展。


Dataframe <- data.frame("names" = c('John','Jill','Joe','Mark'), "Jobs" = c('Mailman','Jockey','Jobhunter',"Nojob"))

Filter_list <- c('Jo')

Dataframe %>% filter(str_detect(names, paste0("^(", paste(Filter_list, collapse = "|"), ")")) |
                     str_detect(Jobs, paste0("^(", paste(Filter_list, collapse = "|"), ")"))

  names      Jobs
1  John   Mailman
2  Jill    Jockey
3   Joe Jobhunter)
Run Code Online (Sandbox Code Playgroud)

r

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