我正在使用 spark 从 Amazon S3 加载 json 文件。我想根据保留最新的数据框的两列删除重复项(我有时间戳列)。最好的方法是什么?请注意,重复项可能分布在多个分区中。我可以在不改组的情况下删除保留最后一条记录的重复项吗?我正在处理 1 TB 的数据。
我正在考虑按这两个列对数据框进行分区,这样所有重复记录都将“一致地散列”到同一分区中,因此分区级别排序后删除重复项将消除所有重复项,只保留一个。我不知道是否有可能。任何信息表示赞赏。
Dec 47
Nov 36
Oct 14
Sep 2
Jan 2
Aug 2
May 1
Apr 1
Jun 1
Jul 1
Feb 1
Name: date, dtype: int64Run Code Online (Sandbox Code Playgroud)
我正在尝试按月对索引列是月份的上述系列进行排序。然而,排序函数不是按月份的日历顺序排序,而是按月份名称的字典顺序排序。如何正确排序以上内容?猜猜我必须指定索引类型是月份而不是字符串。任何帮助表示赞赏。下面的代码片段。
import calendar
movies = release_dates[release_dates.title.str.contains('Christmas') & (release_dates.country=='USA')]
movies = movies.date.dt.month.apply(lambda x: calendar.month_abbr[x])
counts = movies.value_counts()
counts
Run Code Online (Sandbox Code Playgroud)