Python 字典和数据帧之间的定标器操作的数据结构建议

Python 字典和数据帧之间的定标器操作的数据结构建议,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个常量字典,需要乘以数据帧。任何人都可以提供如何处理这种情况的指导或建议有效的数据结构吗 例如,常量字典就像 dct = {a : [0.1,0.22,0.13],b : [0.544,0.65,0.17],c : [0.13,0.544,0.65]} 然后我有一个数据帧 d = {'ID': ['A1','A2','A3'],'AAA':[0,0.4,0.8],'AA':[0,0.6,0.1],'A':[0,0.72,0.32],'BBB':[0,0.55,0.66]} df2 = p

我有一个常量字典,需要乘以数据帧。任何人都可以提供如何处理这种情况的指导或建议有效的数据结构吗

例如,常量字典就像

dct = {a : [0.1,0.22,0.13],b : [0.544,0.65,0.17],c : [0.13,0.544,0.65]}
然后我有一个数据帧

d = {'ID': ['A1','A2','A3'],'AAA':[0,0.4,0.8],'AA':[0,0.6,0.1],'A':[0,0.72,0.32],'BBB':[0,0.55,0.66]}
df2 = pd.DataFrame(data=d)
我想做的是从数组中选取每个常量,并根据条件将一些复杂函数应用于数据帧。你能就我应该使用的数据结构给我一些建议吗

我还考虑过将数据帧转换为字典,然后使用zip执行定标器操作,但这似乎并不正确。 i、 e

操作类似于:如果值为0,则忽略;如果值小于某个公式的0.5,则忽略;如果值大于0.5,则忽略某个公式

如果有任何建议,我将不胜感激

编辑1: 我的另一个想法是迭代每个键,字典“dct”的值,添加一个数据帧列的值列表,然后执行操作。这是完全可行和快速,但我如何存储所有3个数据帧

编辑2: 缩放器操作如下所示:

tmp_list = list()
for i in range(len(v1)):
    if v1[i] ==0:
        temp_list[i]=v1[i]
    if v1[i]>0.5:
        temp_list[i]=v1[i]*4 + v[i]^2
   if v1[i] <0.5:
        temp_list[i]=v1[i]*0.24+v[i]
这样我就可以访问向量,比如op_dct[constant_type][ID]


多个数据帧似乎不是正确的选择

为什么
dct={a:[0.1,0.22,0.13],b:[0.544,0.65,0.17],a:[0.13,0.544,0.65]}
?@ansev,因为每个a,b,c定义了不同的特征。这是在实际模型发生之前,所有参数预计算的一部分,所以我希望尽可能地轻处理。你想用
v
v1
做什么操作?某种形式的
广播
可能会有所帮助。@QuangHoang编辑了一个问题,并在v和v1之间进行了示例操作,这看起来非常矢量化,而不需要经过所有for循环。您应该附加示例数据的预期输出。
tmp_list = list()
for i in range(len(v1)):
    if v1[i] ==0:
        temp_list[i]=v1[i]
    if v1[i]>0.5:
        temp_list[i]=v1[i]*4 + v[i]^2
   if v1[i] <0.5:
        temp_list[i]=v1[i]*0.24+v[i]
op_dct = {'a':{'A1':[values],'A2':[values],'A3':[values]},
          'b':{'A1':[values],'A2':[values],'A3':[values]},
          'c':{'A1':[values],'A2':[values],'A3':[values]} }