我正在尝试找到一个从列表中的元素中分配pandas系列的快捷方式。
我的代码:
import pandas as pd
df=pd.DataFrame([[1,2,2183],[1,4,2235],[2,3,6123],[3,4,4213]],columns=['month','staff','sales'])
goals=[1346,4456,4574]
df['goals']=goals[df['month']-1]
最后一行引发错误:TypeError: list indices must be integers or slices, not Series
所需的输出如下所示:
month staff sales goals
0 1 2 2183 1346
1 1 4 2235 1346
2 2 3 6123 4456
3 3 3 4213 4574
这是一般情况,将来,目标数组实际上可能是多维的。
答案 0 :(得分:2)
this->buttonA->Enabled = false;
答案 1 :(得分:1)
import numpy as np
首先,目标及其各自月份的价值字典:
goals_dict = dict(zip(np.arange(1,len(goals)+1), goals))
现在使用map
df['goals'] = df.month.map(goals_dict)