【发布时间】:2018-10-17 18:55:51
【问题描述】:
我有 2 个数据框(dfA、dfB)
我有另一个数据框 dfC,它有一个名为“SOURCE”的列。 SOURCE 的值为 dfA 或 dfB。
我正在尝试逐行查看 dfC,并根据 SOURCE 字段更新 dfA 或 dfB。
为此,我尝试创建一个变量“a”,该变量将采用 SOURCE 的值。问题是,'a 将等于 'dfA' 或 'dfB'(将其读取为字符串)。我无法使用此字符串调用正确的数据帧(抛出错误)
for i in [0, len(dfC.index)-1]:
a = dfC.loc[i,'Source']
temp = a[['colA', 'colB', colC']]][(a['movement_id']) == dfC.loc[i,'TEMP']]
【问题讨论】:
-
您可以发布您的数据框以便我们查看列和示例数据吗?使用 df.head()
-
与其将 DF 作为字符串传递,为什么不直接传递变量本身呢?
'dfA', 'dfB'到dfA, dfB -
目标不是硬编码,因为 dfC 会不断增长。有没有办法可以将字符串转换为变量名?这样就可以解决问题了
-
您可以使用
locals(),但请记住,这通常是糟糕设计的标志。