我有一个六列的DataFrame,它定义了一个给定的个体:
Age
,Gender
,Education Level
,Job Title
,Years of Experience
,Salary
。
此外,我有四个技能集列,每个技能等级为10:Programming skills
,Microsoft Office
,Web development
,Sales management
我想添加一个新列,表示每个人的平均技能水平。我正在寻找一种方法:
- 根据技能集列中的值计算平均技能级别
- 然后将该计算的平均值作为新列添加。
下面是我的DataFrame的一个示例和我到目前为止尝试过的代码:
import pandas as pd
data = {
'Age': [30, 25, 35],
'Gender': ['Male', 'Female', 'Male'],
'Education Level': ['Bachelor', 'Master', 'Ph.D.'],
'Job Title': ['Engineer', 'Manager', 'Analyst'],
'Years of Experience': [5, 8, 3],
'Salary': [60000, 80000, 55000],
'Programming skills': [8, 7, 6],
'Microsoft Office': [9, 8, 7],
'Web development': [6, 5, 7],
'Sales management': [7, 8, 6]
}
df = pd.DataFrame(data)
# Calculate and add the average skill level column here
2条答案
按热度按时间rekjcdws1#
这取决于你要找的是什么,但总的来说,它看起来像这样
其中values是一个列表或数组,并且必须与您的数组长度相同
zyfwsgd62#
将新列定义为以前列的平均值在其他地方已经得到了回答。在你的情况下,它看起来像这样:
输出量:
如果这是你的问题,它将是how to find mean in rows of dataframe?的副本和documentation的字面应用。
然而,以下替代方案可能更适合您的需求,基于您不太清楚的评论“* 我已经制定了这样的条件,当工资> 60000和'职位' == '数据分析师','技能'列标记出10,即7,8或9任何东西'。
在这种情况下,你的问题是一个重复的,例如。How to apply a function to two columns of Pandas dataframe,除非您将函数应用于2个以上的列。
但更进一步,您的特征可以是具有依赖于配置文件的权重的加权平均值,例如。给予更多的重要性,以销售的情况下,配置文件“经理”等等。