python - 如何在python中使用for循环创建几个熊猫框架?
问题描述
我正在尝试生成 11 个决策树模型,为此,其中一个步骤是为每个模型分配 y 值。
由于我有 11 个变量,我想自动分配每个变量。
df['P1 d'] 是一个带有 'dummies' 变量的 DataFrame 列。
X2 = df[['1_y', '2_y', '3_y', '4_y', '5_y', '6_y', '7_y', '8_y','9_y', '10_y','11_y', '12_y', '13_y', '14_y']]
for t in range(1,12):
'y.{}'.format(t) = df[['P{} d'.format(t)]]
错误信息是:
File "<ipython-input-83-017c94c44d4b>", line 3
'y.{}'.format(t) = df[['P{} d'.format(t)]]
^
SyntaxError:无法分配给函数调用
我知道这可能是一件非常简单的事情,但我一直无法想出任何办法来克服这个挫折。
解决方案
'y.{}'.format(t)
将返回一个字符串,而不是一个变量。您不能将 DataFrame 分配给字符串。
你可以做的是:
- 使用您的 y{} 键创建一个字典
- 将每个数据框放在一个键上
my_dict = {}
for t in range(1,12):
key = 'y.{}'.format(t)
my_dict[key] = df[['P{} d'.format(t)]]
如果需要,您可以使用 dict 理解
推荐阅读
- javascript - 在 HTML/CSS 中给画布同样的最大高度和宽度
- javascript - JavaScript 构造函数中的 this = {} 表达式是什么意思?
- vue.js - v-list 中的 v-list 不适用于 vuetify
- java - 使用 Java 使用 Apache POI 删除 Word 中的域代码
- firebase - 在 Flutter 中查询 Firestore 数据库数组中存在的数据
- regex - 列名正则表达式 - Pandas
- java - 尝试使用多个类构建基本计算器
- azureservicebus - Azure 服务总线虚拟网络已添加到防火墙,但仍无法获得 401 Ip 以连接到终结点
- macos - 如何提取在 MAC OS 中拆分为多个部分的压缩文件夹
- r - 如何将对象分配给函数的输出?