首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyspark创建数组来存储数据帧的三个键

Pyspark创建数组来存储数据帧的三个键
EN

Stack Overflow用户
提问于 2021-01-06 20:38:15
回答 1查看 17关注 0票数 0

我想创建一个数组,并从一个数据帧中保存三个字段,然后读取该数组,这样存储在数组中的代码就不会在另一个数据帧中。

代码语言:javascript
复制
df1

id; id1; code; date_create
1; 100; 50; 2021-10-10
2; 200; 60; 2021-10-10
3; 300; 70; 2021-10-10
4; 400; 80; 2021-10-10
5; 500; 90; 2021-10-10

df2

1; 100; 50; 2021-10-10
2; 200; 60; 2021-10-10
3; 300; 70; 2021-10-10
4; 400; 80; 2021-10-15
5; 500; 90; 2021-10-15
6; 600; 100; 2021-10-15
7; 700; 101; 2021-10-15

我想将它存储在一个数组中:

读取df2,其中date_create等于2021-10-15,并保存字段id,id1,代码

在读取数组并再次生成df1之后,但没有数组中的id、id1和代码

或多或少像这样,下面的代码不正确更多的是一种想法

代码语言:javascript
复制
list = np.array (df1.select ("id", id1, code) .collect ())
    for i in lista:
          df1 = df1.filter (df1 ["id", id1, code]! = i)

然后我要成立一个工会

代码语言:javascript
复制
df2.union (df1)

以避免重复问题。

如果有人能帮助我,我将不胜感激。

代码语言:javascript
复制
result
    id; id1; code; date_create
    1; 100; 50; 2021-10-10
    2; 200; 60; 2021-10-10
    3; 300; 70; 2021-10-10
    4; 400; 80; 2021-10-15
    5; 500; 90; 2021-10-15
    6; 600; 100; 2021-10-15
    7; 700; 101; 2021-10-15
EN

回答 1

Stack Overflow用户

发布于 2021-01-06 20:43:35

您可以执行反联接来消除重复项,然后进行联合:

代码语言:javascript
复制
result = df1.join(df2, ['id', 'id1', 'code'], 'anti').union(df2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65595924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档