我在mongodb的集合中有大量数据需要分析.如何将数据导入熊猫?
我是熊猫和numpy的新手.
编辑:mongodb集合包含标记有日期和时间的传感器值.传感器值为float数据类型.
样本数据:
{
"_cls" : "SensorReport",
"_id" : ObjectId("515a963b78f6a035d9fa531b"),
"_types" : [
"SensorReport"
],
"Readings" : [
{
"a" : 0.958069536790466,
"_types" : [
"Reading"
],
"ReadingUpdatedDate" : ISODate("2013-04-02T08:26:35.297Z"),
"b" : 6.296118156595,
"_cls" : "Reading"
},
{
"a" : 0.95574014778624,
"_types" : [
"Reading"
],
"ReadingUpdatedDate" : ISODate("2013-04-02T08:27:09.963Z"),
"b" : 6.29651468650064,
"_cls" : "Reading"
},
{
"a" : 0.953648289182713,
"_types" : [
"Reading"
],
"ReadingUpdatedDate" : ISODate("2013-04-02T08:27:37.545Z"),
"b" : 7.29679823731148,
"_cls" : "Reading"
},
{
"a" : 0.955931884300997, …Run Code Online (Sandbox Code Playgroud) 我是一个很长时间的python开发人员.我正在尝试Go,将现有的python应用程序转换为Go.它是模块化的,对我来说非常好.
在Go中创建相同的结构后,我似乎陷入了循环导入错误,比我想要的要多得多.从未在python中遇到任何导入问题.我甚至不必使用导入别名.所以我可能有一些循环导入在python中不明显.我实际上发现这很奇怪.
无论如何,我迷路了,试图在Go中解决这些问题.我已经读过接口可以用来避免循环依赖.但我不明白怎么做.我也没有找到任何这方面的例子.有人可以帮我吗?
当前的python应用程序结构如下:
/main.py
/settings/routes.py contains main routes depends on app1/routes.py, app2/routes.py etc
/settings/database.py function like connect() which opens db session
/settings/constants.py general constants
/apps/app1/views.py url handler functions
/apps/app1/models.py app specific database functions depends on settings/database.py
/apps/app1/routes.py app specific routes
/apps/app2/views.py url handler functions
/apps/app2/models.py app specific database functions depends on settings/database.py
/apps/app2/routes.py app specific routes
Run Code Online (Sandbox Code Playgroud)
settings/database.py具有通用功能connect(),可以打开数据库会话.因此,应用程序包调用中的应用程序将database.connect()打开一个数据库会话.
同样的情况是settings/routes.py它具有允许应用程序将其子路由添加到主路由对象的功能.
设置包更多地是关于函数而不是数据/常量.这包含应用程序包中的应用程序使用的代码,否则必须在所有应用程序中复制这些代码.因此,如果我需要更改路由器类,我只需要更改settings/router.py,应用程序将继续工作而不进行任何修改.
大多数 golang 工具(如 golint、gopkgs 等)都像库一样安装,go get例如,go get -v github.com/golang/lint/golint或go get -v github.com/tpng/gopkgs. 我想知道为什么这些不仅仅是运行源代码的二进制文件,例如go fmt?
由于我同时处理多个 Go 项目,因此我更喜欢对不同GOPATH的项目使用不同的工具,因此我必须将这些工具安装到每个项目中,以便我可以检查或自动完成。
我是否做错了什么,或者有没有办法在全球范围内安装这些工具,然后在多个项目中使用它们?处理多个项目的人们如何管理这个?
编辑:
我不是在询问库的供应或同时使用不同版本的 Go 的项目。我的问题是必须将 lint 和 gopkgs 这样的工具安装到每个 GOPATH 中,为什么它们被设计为像库一样对待,而不是作为全局二进制文件提供,go fmt然后可以在多个项目中使用,就像我们使用go fmt
如果我为数据库之类的东西设置复制控制器,它如何保持副本中的数据同步?如果其中一个副本出现故障,它是如何使用最新数据备份的?
我有两个实例(实例A和实例B)都属于同一安全组(例如sg-1)。
安全组具有以下入站规则集:
我可以使用实例B的私有IP从实例A ping实例B,但是当我使用实例B的公共地址时没有任何响应。
我想念什么?
编辑:
如果我将上述安全性配置中的源更改为“ Anywhere”,则可以ping通到公共IP。
可以在python/django中使用的大量应用程序/软件包是两者的一大优势.这也引发了关于处理这些已安装的应用程序/库的问题,尤其是在存在必须部署项目的多个环境时.
将这样的第三方库安装到系统对我来说似乎并不理想.经过一些研究,我发现有两种可能的方法,即virtualenv或包含在项目文件夹中的包.但问题是为每个项目创建virtualenv有点混乱,另一方面,包括项目目录中的大包增加了项目大小并且还产生了导入问题.
我发现上述两种方法之间存在中间立场,即安装库,可以将多个项目共享到virtualenv和项目中较小的项目特定库中.
例如,对于django项目,我会将django安装到virtualenv中,项目中使用的其他库(例如xlwrt,dojango等)包含在项目中的"lib"文件夹中.
这是最好的方式还是有更好的替代方法?
是否可以从 golang 应用程序运行副本集命令,例如rs.initiate()并rs.add()使用 mgo 驱动程序?
如果是,如何?
go ×3
mongodb ×2
python ×2
amazon-ec2 ×1
django ×1
kubernetes ×1
mgo ×1
pandas ×1
project ×1
pymongo ×1