首页 > 解决方案 > 在熊猫中创建动态列名

问题描述

我正在尝试使用以下代码在 for 循环中创建多个数据框:

for i in range(len(columns)):
   f'df_v{i+1}' = df.pivot(index="no", columns=list1[i], values=list2[i])

但我收到错误“无法分配给文字”。不确定是否有办法在熊猫中动态创建数据框?

标签: pythonpandas

解决方案


这种语法

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']例如,您可以通过这种方式访问​​您的数据框。


推荐阅读