我有一個數據框的幾列說column1,column2 ... column100。如何僅選擇列的一個子集,例如(不是列1)應該返回所有列column2 ... column100。如何在julia中只選擇數據幀列的一個子集
data[[colnames(data) .!= "column1"]])
似乎沒有工作。
我不想改變數據幀。我只是想選擇所有沒有在我的例子具有特定列名狀
我有一個數據框的幾列說column1,column2 ... column100。如何僅選擇列的一個子集,例如(不是列1)應該返回所有列column2 ... column100。如何在julia中只選擇數據幀列的一個子集
data[[colnames(data) .!= "column1"]])
似乎沒有工作。
我不想改變數據幀。我只是想選擇所有沒有在我的例子具有特定列名狀
正如@Reza Afzalan所說,你要做的是返回一個字符串數組,而DataFrame中的列名是符號。
由於朱莉婭沒有條件列表解析,你可以做我想最好的事情是
data[:, filter(x -> x != :column1, names(df))]
這會給你的數據與第1列刪除設置(無變異的話)。你可以這樣延伸到對名字的列表檢查以及:
data[:, filter(x -> !(x in [:column1,:column2]), names(df))]
colnames(data) .!= "column1"
#列=>返回布爾數組
我認爲正確的方法是使用一個過濾功能返回所需的列名
filter(x->x != "column1", colnames(data))
#=>返回字符串的數組
數據幀的列名是符號數據類型的
map(symbol ,str_array_of_filterd_column_names)
#=>返回數組相同的符號
的[文檔](http://juliastats.github.io/DataFrames.jl/subsets/)提到了使用一組名稱作爲選擇,儘管不要深入探討如何定義這樣一套方法 –