想要连接随机统一生成的值

时间:2018-05-14 18:24:55

标签: python pandas function numpy dataframe

我的代码如下,我想为它编写一个函数。输出应该是x作为数据帧,y应该是系列,即使是具有x和y作为列的数据帧也足够了。

x = np.arange(0,50)
x = pd.DataFrame({'x':x})

# just random uniform distributions in differnt range

y1 = np.random.uniform(10,15,10)
y2 = np.random.uniform(20,25,10)
y3 = np.random.uniform(0,5,10)
y4 = np.random.uniform(30,32,10)
y5 = np.random.uniform(13,17,10)

y = np.concatenate((y1,y2,y3,y4,y5))
y = y[:,None]

我尝试过关注,但它不会返回从y1到y5的值。 我的代码是:

x = np.arange(0,50)
x = pd.DataFrame({'x':x})
def colm(p,q):
    s, t = p, q
    a = ['y1', 'y2', 'y3', 'y4', 'y5']
    for i in a:
        i = np.random.uniform(s, t, 10)
        s, t = s+10, t+10
        return i

2 个答案:

答案 0 :(得分:1)

尝试修改这样的功能:

x, y = colm([10, 20, 0, 30, 13], [15, 25, 5, 13, 17])

您现在可以将其用作

playSound(e)

答案 1 :(得分:0)

经过一番尝试,我得到了我想要的东西:

x = np.arange(0,50)
x = pd.DataFrame({'x':x})
def colm(p,q):
    s, t = p, q
    z = []
    a = ['y1', 'y2', 'y3', 'y4', 'y5']
    for i in a:
        i = np.random.uniform(s, t, 10)
        s, t = s+10, t+10
        z.append(i)
    y = np.concatenate(z)
    return pd.Series(y)

感谢大家表现出兴趣......!