试图了解以下代码如何按照其他数据帧重新排列结果数据帧的列。
df_with_intercept = df_with_intercept[df_scorecard['Feature_names'].values]
请注意,'Feature names'
中的df_scorecard
列具有df_with_intercept
中使用的所有列名,但有一些分数。
上面的代码只是重新排列了df_with_intercept
中的列以匹配'Feature names'
中的行顺序。
这样做是为了实现相关变量之间的点乘法。
df_scorecard['Feature_names']
inputs_test_with_ref_cat_w_intercept = \
inputs_test_with_ref_cat_w_intercept[df_scorecard['Feature name'].values]
答案 0 :(得分:0)
我认为这可能有助于解释一些事情。
从另一个数据框的列更新一个熊猫数据框的列名
从数据的数据帧开始
df_pokemon = pd.DataFrame({
"A": ["Eevee", "Vaporeon", "Flareon"],
"C": ["Pichu", "Pikachu", "Raichu"]})
这将产生一个像这样的数据框
创建具有标签名称的数据框
df_labels = pd.DataFrame({
"X": ["Pikachu_line", "Eevvee_line"]})
这将产生一个像这样的数据框
我可以使用df_labels中的X列替换df_pokemon中的列名称
df_pokemon.columns = df_labels['X'].tolist()
因此
如何根据一个数据框列中的数据更改一个数据框中列的顺序
假设要切换df_pokemon中的列,我们可以这样做。
我创建了一个新的df_labels,其顺序已更新(皮卡丘和eevee已切换)
df_labels = pd.DataFrame({"X": ["Pikachu_line", "Eevvee_line"]})
我可以使用X列中的数据来指定df_pokemon中的顺序
df_pokemon[df_labels['X'].tolist()]
您将看到列的顺序已更改