我想创建一个数组并保存数据帧中的三个字段然后读取该数组,以便存储在该数组中的代码不在另一个数据帧上。
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代码
或多或少像这样,下面的代码不正确更多的是一个想法
list = np.array (df1.select ("id", id1, code) .collect ())
for i in lista:
df1 = df1.filter (df1 ["id", id1, code]! = i)
然后我要做一个工会
df2.union (df1)
以避免重复问题。
如果有人能帮我,我将不胜感激。
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
您可以进行反联接以消除重复,然后进行联合:
result = df1.join(df2, ['id', 'id1', 'code'], 'anti').union(df2)