小编dre*_*rew的帖子

Pyspark按另一个数据帧的列过滤数据帧

我不知道为什么我会遇到困难,看起来很简单,因为在R或熊猫中相当容易.我想避免使用pandas,因为我正在处理大量数据,我相信toPandas()所有数据都会加载到pyspark中的驱动程序内存中.

我有2个数据帧:df1df2.我想过滤df1(删除所有行)df1.userid = df2.useridAND df1.group = df2.group.我不知道我是否应该使用filter(),join()sql 例如:

df1:
+------+----------+--------------------+
|userid|   group  |      all_picks     |
+------+----------+--------------------+
|   348|         2|[225, 2235, 2225]   |
|   567|         1|[1110, 1150]        |
|   595|         1|[1150, 1150, 1150]  |
|   580|         2|[2240, 2225]        |
|   448|         1|[1130]              |
+------+----------+--------------------+

df2:
+------+----------+---------+
|userid|   group  |   pick  |
+------+----------+---------+
|   348|         2|     2270|
|   595|         1|     2125|
+------+----------+---------+

Result I want:
+------+----------+--------------------+ …
Run Code Online (Sandbox Code Playgroud)

dataframe python-2.7 apache-spark apache-spark-sql pyspark

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

如何将R中的月份向量更改为R中的数值

所以我在R的数据框中有一个向量,叫做Month。我的数据帧称为wr200meter。这是输出wr200meter$Month

[1] May    June   June   Nov    Oct    March  April 

[8] May    July   July   Sept   June   March  April 

[15] June   Oct    August June   Oct    Sept   June  

[22] August August August
Run Code Online (Sandbox Code Playgroud)

as.numeric(wr200meter$Month)我得到时:

[1] 6 4 4 7 8 5 1 6 3 3 9 4 5 1 4 8 2 4 8 9 4 2 2 2
Run Code Online (Sandbox Code Playgroud)

我想得到的是一个十进制数字。例如,对于六月,我想要0.5,而对于九月,我想要0.75。有人可以告诉我:1)如何获得所需的十进制数字2)这些输出的数字as.numeric(wr200meter$Month)从何而来?

谢谢!

r vector

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