刪除一個數據幀的專欄,我不知道是否有在刪除一個數據幀的專欄SparkR,如df.drop("column_name")
在pyspark一個簡潔的方法。在SparkR
這是最接近我可以得到:
df <- new("DataFrame",
sdf=SparkR:::callJMethod([email protected], "drop", "column_name"),
isCached=FALSE)
刪除一個數據幀的專欄,我不知道是否有在刪除一個數據幀的專欄SparkR,如df.drop("column_name")
在pyspark一個簡潔的方法。在SparkR
這是最接近我可以得到:
df <- new("DataFrame",
sdf=SparkR:::callJMethod([email protected], "drop", "column_name"),
isCached=FALSE)
可以使用select
功能選擇你需要保持給它一組列與名稱或列表達什麼。
用法:
## S4 method for signature 'DataFrame'
x$name
## S4 replacement method for signature 'DataFrame'
x$name <- value
## S4 method for signature 'DataFrame,character'
select(x, col, ...)
## S4 method for signature 'DataFrame,Column'
select(x, col, ...)
## S4 method for signature 'DataFrame,list'
select(x, col)
select(x, col, ...)
selectExpr(x, expr, ...)
例子:
select(df, "*")
select(df, "col1", "col2")
select(df, df$name, df$age + 1)
select(df, c("col1", "col2"))
select(df, list(df$name, df$age + 1))
# Similar to R data frames columns can also be selected using `$`
df$age
您還可能有興趣在subset
功能,根據給定的條件下返回數據框的子集。
我邀請您閱讀官方文檔here以獲取更多信息和示例。
利用選擇:
drop_columns = function(df, cols) {
# Names of columns
col_names = df %>% colnames
# Filter out column names passed in
col_names = col_names[!(col_names %in% cols)]
# Select remaining columns
df %>% select(col_names)}
df %>% drop_columns(c('column1', 'column2'))
感謝Eliasah!我熟悉選擇,我正在尋找一種方法來放棄。 – zoltanctoth
對不起。這是現在可用的。我們都知道sparkR仍然是一個「新」項目。 – eliasah
我在JIRA找到那個下落是用R風格的方式實現的,看我的回答 – zoltanctoth