如何引用熊猫变量名称来命名numpy数组?

时间:2019-01-10 21:09:59

标签: python pandas numpy

我有一个pandas数据框,我希望使用numpy数组从中构造一些矩阵。这些矩阵将基于数据帧中的变量构造,我想通过循环遍历数据帧变量列表来创建这些矩阵。我还希望根据变量来命名numpy数组,以便我可以轻松地引用它们。

下面是试图说明我的问题的代码。我创建了一个具有两个分类变量和一个标识符的数据框。然后,我创建一个列表“ vars”,其中包含要循环遍历的变量名称。我展示了我的代码在循环之外运行(尽管创建的对象是熊猫而不是numpy)。最后的注释部分不起作用,但是显示了我尝试在循环中包含变量字符串的情况。

import pandas as pd
import numpy as np
import random

mult_cat = []   # multiple categories
bin_cat = []    # binary categories
id = []
for i in range(0,10):
    x = random.randint(0,4)
    y = random.randint(0,1)
    z = i+1
    mult_cat.append(x)
    bin_cat.append(y)
    id.append(z)

data_2 = {'ID': id,
          'mult_cat': mult_cat,
          'bin_cat': bin_cat}
df = pd.DataFrame(data_2,
                   columns = ['ID', 'mult_cat', 'bin_cat'])

vars = ['mult_cat', 'bin_cat']

twice_mult_cat=2*df.mult_cat
print(mult_cat)
print(twice_mult_cat)

"""
for var in vars:
    twice_var=2*df.var
    print(twice_var)
"""

我相信这里至少有两个问题。

1)我只是将pandas数组相乘,因此生成的对象不是numpy数组。

2)命名问题,我认为是这里更重要的问题。

0 个答案:

没有答案