我有一個訓練數據框已被清除,並具有原始測試數據框所具有的變量子集。我想創建一個新的測試數據框,只保留訓練數據框的列。Pandas使用訓練數據框列選擇測試數據幀列
例如,
train.columns=['A','D','E','G']
test.columns=['A','B','C','D','E','F','G']
如何創建新的test_df是隻保留train.columns?
我有一個訓練數據框已被清除,並具有原始測試數據框所具有的變量子集。我想創建一個新的測試數據框,只保留訓練數據框的列。Pandas使用訓練數據框列選擇測試數據幀列
例如,
train.columns=['A','D','E','G']
test.columns=['A','B','C','D','E','F','G']
如何創建新的test_df是隻保留train.columns?
假設每個DataFrame
具有相同名稱的列,那麼你可以簡單地從測試DataFrame
使用培訓DataFrame
的DataFrame.columns
屬性和[]
語法選擇列。
這裏是一個工作示例:
$ train = pd.DataFrame([[0,1,2,3]],columns=['A','D','E','G'])
$ train
A D E G
0 0 1 2 3
$ test = pd.DataFrame([[0,1,2,3,4,5,6]],columns=['A','B','C','D','E','F','G'])
$ test
A B C D E F G
0 0 1 2 3 4 5 6
$ test_df = test[train.columns]
$ test_df
A D E G
0 0 3 4 6
是的,工作!謝謝!如果它是一個numpy數組而不是數據框,你會知道如何做同樣的事情嗎? – yogz123
如果你仍然可以訪問'DataFrame',那麼它就像'test_df.values'一樣簡單,但我不確定如何從'ndarray'直接做到這一點。如果你真的需要做後者,那麼我認爲你仍然可以按照[文檔](https://docs.scipy.org/doc/numpy/reference/arrays.indexing)使用'[]'索引語法。 HTML)。然而,如果你想根據'str'類標籤選擇列,那麼我認爲你應該繼續使用'DataFrame'而不是'ndarray'。雖然,也許我只是想念你的問題的背景。 – ctj232
的工作,謝謝! – yogz123
@ ctj232如果沒有至少15的代表,他們無法贊成。如果你提出了他們的問題,他們會有必要的代表讓你高興。 – piRSquared
好點,謝謝! @piRSquared – ctj232