如何用For Loop基于Pandas DataFrame Menu列唯一值创建对应子数据集
基于Pandas列唯一值自动创建对应名称的子数据集
直接通过循环结合globals()函数就能实现你要的效果,代码如下:
# 获取Menu列的所有唯一值 unique_menus = df['Menu'].unique() # 循环创建对应名称的子数据集变量 for menu in unique_menus: globals()[menu] = df[df['Menu'] == menu]
运行这段代码后,你就可以直接像手动创建的那样使用变量,比如输入Sashimi.head()就能查看对应子数据集的前几行。
补充说明
虽然动态创建变量能满足你的需求,但更推荐用字典来存储所有子数据集,这样可以避免命名空间污染,管理起来也更方便:
menu_dfs = {menu: df[df['Menu'] == menu] for menu in df['Menu'].unique()}
调用时只需通过键名访问:menu_dfs['Sashimi'].head()
内容的提问来源于stack exchange,提问作者bData
相关产品推荐
相关产品推荐

