我有一个日期pyspark数据帧,其格式为字符串列MM-dd-yyyy,我试图将其转换为日期列.
我试过了:
df.select(to_date(df.STRING_COLUMN).alias('new_date')).show()
我得到一串空值.有人可以帮忙吗?
利用 中的示例包代码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)
我试图将renderText元素的形式放在textOutput标头旁边,但它始终将它们放在不同的行上。
h1('This is the number:'), textOutput(output$number)
这也不起作用:
p(h1('This is the number:'), textOutput(output$number))
任何人都可以解决吗?
我正在创建一个 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) 我有一个在相关矩阵中有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')
我希望将左下方的图块定义为不在相关颜色上腭的颜色.
我有一个元素列表,可能会启动一些RDD记录的字符串.如果我有和元素列表的yes和no,它们应该匹配yes23,no3但不是35yes或41no.使用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) 我正在利用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 ×4
apache-spark ×2
pyspark ×2
python ×2
ggplot2 ×1
ggpubr ×1
networkx ×1
pyspark-sql ×1
r-corrplot ×1
shiny ×1