【发布时间】:2021-06-16 23:20:12
【问题描述】:
我正在尝试基于现有的 df 列创建一系列变量。示例:
import pandas as pd
dates = {'expiries': ['10','11','13','14']}
expiries = pd.DataFrame(dates)
expiries
然后我想创建一个新变量(var1 到 var4),为其赋予每一行的值。我知道我可以通过去得到它:
var1 = expiries['expiries'].iloc[0]
var2 = expiries['expiries'].iloc[1]
var3 = expiries['expiries'].iloc[2]
var4 = expiries['expiries'].iloc[3]
但实际上我的 df 是可变长度的,我需要每行一个变量而不是预先确定(硬编码)的变量数。
【问题讨论】:
-
问题是为什么?如果您不知道变量的数量,您如何键入它们?你在寻找某种
for循环吗? -
您可以存储在 dict 中:
expiries['expiries'].to_dict()并在以后真正需要时参考密钥,因为从循环创建变量不是一个好主意。参考:stackoverflow.com/questions/1373164/… -
我正在使用变量在新的 df 中创建列。然后我用一些可视化来引用那个df。初始产品选择决定了到期的数量。有时 15 有时 20。如果我将变量预设为 20,当我的产品只有 15 个时,可视化不会运行,因为它们缺少列。欣赏其反代码逻辑的建议。