考虑下面的用例,当我使用for循环时,我可以访问键数据和分组数据,但是当尝试将for循环抽象为使用map()时,出现以下错误:
raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
'age': [42, 52, 36, 24, 73],
'preTestScore': [4, 24, 31, 2, 3],
'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'preTestScore', 'postTestScore'])
df_grouped = df.groupby('last_name')
for key, group in df_grouped:
print(key, group)
map(lambda x,y: sys.stdout.write(x, y), df_grouped)
>>> TypeError: <lambda>() takes exactly 2 arguments (1 given)
这是我的真实示例。我没有可发布的可复制数据集,但是我正在尝试创建线图并查看地图是否会清理我的代码。
grouped_sim = raw_exprmt_dat.query('n > 1').groupby('model_id')
grouped_exp = raw_exprmt_dat.query('n == 1').groupby('model_id')
for key, group in grouped_sim:
plt.plot(group['X'], group['Y'], label=key, color=color_map[key])
if key == '365FGR':
for key, group in grouped_exp:
plt.plot(group['X'], group['Y'], 's', label=key, color=color_map[key], markersize=12)