Jupyter Notebook / Lab导入功能失败

时间:2019-01-21 12:56:51

标签: python pandas jupyter

我有一个布尔子集功能,可用于熊猫数据框:

       <View style={styles.map}>
        <MapView
          style={styles.map}
          initialRegion={this.state.region}
          onRegionChangeComplete={this.onRegionChange}
        >
          <Polyline
            coordinates={this.state.route_data}
            strokeWidth={1}
            strokeColor="red"
            fillColor="rgba(255,0,0,0.5)"
          />
       </MapView>
      </View>

在单元格中输入后,它在脚本和木星笔记本中都可以很好地工作:

@available(iOS 9.0, *)
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
    return application(app, open: url,
                       sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
                       annotation: "")
}

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
        // Handle the deep link. For example, show the deep-linked content or
        // apply a promotional offer to the user's account.
        // ...
        print("dynamic link \(dynamicLink.url)")

        return true
    }
    return false
}


private func application(_ application: UIApplication, continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

    let handled = DynamicLinks.dynamicLinks().handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in

        print("dynamic link \(dynamiclink?.url)")

    }

    return handled

    //return true
}

但是,如果我在def operational(df): return df[(df['cf'] != 0) & (df['ta'] > 0)] 中保留函数定义并将其导入jupyter,事情会出乎意料。似乎在导入模块时,木星并没有协调函数内部变量的类型:

#df = ...
df2 = operational(df)

将内容导入笔记本通常不是一个好主意吗?如果需要的话,我使用木星实验室。

1 个答案:

答案 0 :(得分:2)

好的,从注释中听起来好像您希望笔记本计算机自动提取导入脚本中的更改。默认情况下,Python会缓存import,因此在大多数情况下,除非重新启动Python,否则导入的模块所做的更改不会被提取。

幸运的是,Jupyter笔记本在IPython上运行,它提供了code reloading cell magic。您所需要做的就是运行:

%autoreload 2

在任何单元格中,笔记本从那时起应自动在pick.py中进行任何更改(您仍然必须将更改保存到磁盘上,然后重新加载魔术师才能看到它们)当然)。