小编cra*_*rog的帖子

如何以矢量化方式编写代码而不是使用循环?

我想以矢量化方式编写以下代码,因为当前代码非常慢(并且想学习Python最佳实践).基本上,代码说如果今天的价值在昨天价值的10%之内,那么今天的价值(在新栏目中)与昨天的价值相同.否则,今天的价值不变:

def test(df):
    df['OldCol']=(100,115,101,100,99,70,72,75,78,80,110)
    df['NewCol']=df['OldCol']
    for i in range(1,len(df)-1):
        if df['OldCol'][i]/df['OldCol'][i-1]>0.9 and df['OldCol'][i]/df['OldCol'][i-1]<1.1:
            df['NewCol'][i]=df['NewCol'][i-1]
        else:
            df['NewCol'][i]=df['OldCol'][i]
    return df['NewCol']
Run Code Online (Sandbox Code Playgroud)

输出应如下:

    OldCol  NewCol
0      100     100
1      115     115
2      101     101
3      100     101
4       99     101
5       70      70
6       72      70
7       75      70
8       78      70
9       80      70
10     110     110
Run Code Online (Sandbox Code Playgroud)

你能帮忙吗?

我想使用这样的东西,但我无法解决我的问题:

def test(df):
    df['NewCol']=df['OldCol']
    cond=np.where((df['OldCol'].shift(1)/df['OldCol']>0.9) & (df['OldCol'].shift(1)/df['OldCol']<1.1))
    df['NewCol'][cond[0]]=df['NewCol'][cond[0]-1]     
    return df     
Run Code Online (Sandbox Code Playgroud)

python loops numpy vectorization

5
推荐指数
1
解决办法
155
查看次数

Anaconda安装问题-无法创建Anaconda菜单

我在计算机上安装了Anaconda 3.5版,但我决定通过控制面板将其卸载,然后下载2.7版。我正在使用Windows 7。

但是,在安装即将结束时,我收到一条错误消息,我会收到一个弹出窗口,说::Failed to create Anaconda menus然后是另一个Failed to add Anaconda to the system PATH

当我在这些弹出窗口中单击“忽略”时,安装完成,但在“开始”菜单中甚至看不到Anaconda。

我使用了不同的安装程序(4.2.0和4.1.1),但仍然无法正常工作。

我尝试为所有用户安装它(正如我在Internet上阅读的一样),但仍然无法正常工作。错误消息有所不同(请参见下面的链接),然后弹出Failed to create Anaconda menus

https://cloud.githubusercontent.com/assets/24353213/20858712/e4438f60-b94b-11e6-806b-f01436aac306.PNG

因为我被卡住了,根本无法使用,您能帮忙吗?

python installation failed-installation anaconda

3
推荐指数
2
解决办法
2万
查看次数