python - 在熊猫中创建动态列名
问题描述
我正在尝试使用以下代码在 for 循环中创建多个数据框:
for i in range(len(columns)):
f'df_v{i+1}' = df.pivot(index="no", columns=list1[i], values=list2[i])
但我收到错误“无法分配给文字”。不确定是否有办法在熊猫中动态创建数据框?
解决方案
这种语法
f'df_v{i+1}' = df.pivot(index="no", columns=list1[i], values=list2[i])
意味着您正在尝试将 DataFrames 分配给字符串,这是不可能的。您可以尝试使用字典,而不是:
my_dfs = {}
for i in range(len(columns)):
my_dfs[f'df_v{i+1}'] = df.pivot(index="no", columns=list1[i], values=list2[i])
因为它允许使用命名键,这似乎是你想要的。my_dfs['df_v1']
例如,您可以通过这种方式访问您的数据框。
推荐阅读
- angular-material - 角材料主题
- php - CodeIgniter 中的 URI 路由导致 404 错误
- javascript - 当用户访问网站时隐藏桌面推送通知
- java - Android Oreo onTaskRemoved 事件不起作用(Android 版本 Oreo)
- r - 将具有相同列名的两个数据框合并为一个具有两个值的向量的数据框
- c# - 是否可以将 executablePath 指定为 launchsettings.json 中的相对路径?
- c#-4.0 - 如何在 C# Visual 中进行依赖下拉?
- python - ValueError:长度不匹配:预期轴有 2 个元素,新值有 1 个元素
- reactjs - 在反应中设置动态数据
- html - 在悬停时显示隐藏图像叠加 Bootstrap 4.2