python - 为什么分组数据框在 for 循环中提供键和数据,但使用 map() 不起作用?
问题描述
考虑下面的用例,当我使用 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)
这是我的真实示例。我没有可以发布的可重现数据集,但我正在尝试创建线图并查看 map 是否会稍微清理我的代码。
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)
解决方案
推荐阅读
- c++ - 我被困在如何使用 C++ 中一个人的名字和姓氏在双向链表中进行排序算法
- vb.net - 分阶段网站目录/文件夹名称 vb.net
- r - ggplot添加多边形
- sql - 计算不同和非不同 ID 编号的布尔值
- javascript - 对于即将从 GET 响应接收其值的属性,我应该使用 Undefined 或 Null 作为默认值吗?
- javascript - 当纸张调整大小时,如何保持元素的原始大小并将它们保留在纸张内?
- cytoscape.js - 使用 popper 和 tippy 在 Cytoscape 节点标签上创建工具提示
- c# - 如何使用方法语法在 LINQ 连接中添加多个条件
- flutter - 如何在颤动时将上传的图像列表上传到 Firestore?
- python - 漂亮的打印数据类更漂亮