2015-11-03 19 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) 
相关问题