2015-11-03 17 views
1

我有一個用於熊貓分類數據的特徵向量(虛擬)數據框,並且我在該數據框中添加了一個「評級」列,該列表示連續數據從1到10.如何將所有列中除「收視率」列以外的所有1與相應的「收視率」列值進行比較?熊貓 - 用另一列中的相應值替換所有列中的特定值

我在我的多元線性迴歸模型中使用了這個特性。這是一個很好的做法嗎?在機器學習/統計分析概念中,這種方法將被稱爲什麼?

+1

是否有用於R標籤的原因是什麼? –

+0

不是,除了這樣一個事實,即如果這是統計分析概念中常見的方法,r程序員可能可以幫助我! – ExtremistEnigma

回答

0

您可以通過收視率列--assuming假人dataframe乘以做到這一點我明白你correctly--試試這個:

import pandas as pd 
# mock dataframe 
df = pd.DataFrame({'alpha':['a','a','b','b','c','e','f','g'],'rating':[1,3,5,7,1,5,10,1]}) 
# get dummies 
df = pd.get_dummies(df) 
# multiply dataframe by ratings 
df.ix[:, 1:].mul(df['rating'], axis=0) 

輸出:

a b c e f g 
0 1 0 0 0 0 0 
1 3 0 0 0 0 0 
2 0 5 0 0 0 0 
3 0 7 0 0 0 0 
4 0 0 1 0 0 0 
5 0 0 0 5 0 0 
6 0 0 0 0 10 0 
7 0 0 0 0 0 1 

至於這是否是有用 - 它是否改進了用於評估模型的指標?另外值得一張貼在https://stats.stackexchange.com/

0

你可以做

df = df.apply(lambda row: row.replace(1, row['rating']), axis=1) 
相關問題