我不知道为什么我会遇到困难,看起来很简单,因为在R或熊猫中相当容易.我想避免使用pandas,因为我正在处理大量数据,我相信toPandas()
所有数据都会加载到pyspark中的驱动程序内存中.
我有2个数据帧:df1
和df2
.我想过滤df1
(删除所有行)df1.userid = df2.userid
AND 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) 所以我在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)
从何而来?
谢谢!