我有一个数据框dat1
Country Count
1 AUS 1
2 NZ 2
3 NZ 1
4 USA 3
5 AUS 1
6 IND 2
7 AUS 4
8 USA 2
9 JPN 5
10 CN 2
Run Code Online (Sandbox Code Playgroud)
首先,我想对每个"国家"加上"计数".然后,每个国家的前三个总计数应该与另一行"其他"相结合,这是不属于前三名的国家的总和.
因此,预期结果将是:
Country Count
1 AUS 6
2 JPN 5
3 USA 5
4 Others 7
Run Code Online (Sandbox Code Playgroud)
我已经尝试了下面的代码,但无法弄清楚如何放置"其他"行.
dat1 %>%
group_by(Country) %>%
summarise(Count = sum(Count)) %>%
arrange(desc(Count)) %>%
top_n(3)
Run Code Online (Sandbox Code Playgroud)
此代码目前提供:
Country Count
1 AUS 6
2 JPN 5
3 USA 5
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
dat1 <- structure(list(Country = structure(c(1L, …Run Code Online (Sandbox Code Playgroud) 我在 Azure SQL 数据库中有一个表,我想根据某些条件从 Azure Databricks 中删除选定的行或整个表。目前我正在使用JDBC的truncate属性来截断整个表而不删除它,然后用新的数据帧重写它。
df.write \
.option('user', jdbcUsername) \
.option('password', jdbcPassword) \
.jdbc('<connection_string>', '<table_name>', mode = 'overwrite', properties = {'truncate' : 'true'} )
Run Code Online (Sandbox Code Playgroud)
但是以后我不想每次都截断和覆盖整个表,而是使用 delete 命令。我也无法使用下推查询来实现这一点。对此的任何帮助将不胜感激。
pyspark pyspark-sql azure-sql-database databricks azure-databricks