小编psy*_*dia的帖子

如何使用docker-compose为mongo数据库播种?

我正在尝试分发一组在几个链接容器中运行的连接应用程序,其中包含一个mongo数据库,该数据库需要:

  • 分发包含一些种子数据;
  • 允许用户添加其他数据.

理想情况下,数据也将保存在链接的数据卷容器中.

我可以mongo使用mongo不安装任何卷的基本实例将数据导入容器(dockerhub image:psychemedia/mongo_nomount- 这实际上是没有VOLUME /data/db语句的基本mongo Dockerfile )和Dockerfile以下行的配置:

ADD . /files
WORKDIR /files
RUN mkdir -p /data/db && mongod --fork --logpath=/tmp/mongodb.log && sleep 20 && \
mongoimport  --db testdb --collection testcoll  --type csv --headerline --file ./testdata.csv  #&& mongod --shutdown
Run Code Online (Sandbox Code Playgroud)

where ./testdata.csv在与./mongo-with-dataDockerfile 相同的目录()中.

我的docker-compose配置文件包括以下内容:

mongo:
  #image: mongo
  build: ./mongo-with-data
  ports:
    - "27017:27017"
  #Ideally we should be able to mount this against a host directory
  #volumes:
  # …
Run Code Online (Sandbox Code Playgroud)

mongodb docker docker-compose

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

按pandas/matplotlib条形图中的条形顺序排序

什么是Pythonic/pandas在pandas中的列中排序"级别"以在条形图中给出特定的条形排序.

例如,给定:

import pandas as pd
df = pd.DataFrame({
    'group': ['a', 'a', 'a', 'a', 'a', 'a', 'a', 
              'b', 'b', 'b', 'b', 'b', 'b', 'b'],
    'day': ['Mon', 'Tues', 'Fri', 'Thurs', 'Sat', 'Sun', 'Weds',
            'Fri', 'Sun', 'Thurs', 'Sat', 'Weds', 'Mon', 'Tues'],
    'amount': [1, 2, 4, 2, 1, 1, 2, 4, 5, 3, 4, 2, 1, 3]})
dfx = df.groupby(['group'])
dfx.plot(kind='bar', x='day')
Run Code Online (Sandbox Code Playgroud)

我可以生成以下一对图:

无序的条形图

条形的顺序遵循行顺序.

重新排序数据的最佳方法是什么,以便条形图有Mon-Sun订购的条形码?

更新:这种垃圾解决方案有效 - 但它使用额外排序列的方式远非优雅:

df2 = pd.DataFrame({
    'day': ['Mon', 'Tues', 'Weds', 'Thurs', 'Fri', 'Sat', 'Sun'],
    'num': [0, 1, 2, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

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

将带有扩展名.sqlite的FIles导入到R中

我从Scraperwiki导出了一个SQLite数据库(作为sqlite格式3文件?),带有.sqlite文件扩展名/文件后缀.

如何将其导入R,可能将原始数据库表映射到单独的数据框?

sqlite r

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

增加ggplot中的绘图区域以处理绘图边缘处的geom_text

如何使用基于因子的轴和一个数字轴增加图表的灰色绘图区域,以便geom_text()绘图中的文本标签在视图中并且不会延伸到绘图区域之外?

ggplot显示geom_text()图,其中标签延伸到绘图区域之外

特别是,我想扩展灰色区域以在绘图区域内提供允许文本标签完整显示的边缘区域.

或者,还有更好的方法?

plot r

14
推荐指数
1
解决办法
2477
查看次数

使用NetworkX导出图形的布局位置

在NetworkX中为图形生成x/y布局坐标后,如何使用GraphML之类的东西将图形与节点位置一起导出为节点定义的一部分?

布局算法似乎没有直接注释图形?或者他们?!

python graph graphml networkx

7
推荐指数
1
解决办法
3172
查看次数

抓取Google+社区成员的列表

Google+社群服务似乎没有一个API已经启动.有没有人设法提出一个Python脚本,可以下载一个Google+社区成员列表?

查看社区成员的调用URL具有以下形式:

https://plus.google.com/u/0/_/communities/members?hl=en_GB&ozv=es_oz_20121205.15_p1&avw=sq%3A1&_reqid=2638839&rt=j
Run Code Online (Sandbox Code Playgroud)

然后是后续页面:

https://plus.google.com/u/0/_/communities/readmembers?hl=en_GB&ozv=es_oz_20121205.15_p1&avw=sq%3A4&_reqid=3038839&rt=j
https://plus.google.com/u/0/_/communities/readmembers?hl=en_GB&ozv=es_oz_20121205.15_p1&avw=sq%3A4&_reqid=3238839&rt=j
https://plus.google.com/u/0/_/communities/readmembers?hl=en_GB&ozv=es_oz_20121205.15_p1&avw=sq%3A4&_reqid=3438839&rt=j
Run Code Online (Sandbox Code Playgroud)

我不确定_reqid计数是否真的在进行分页?

我认为,返回的数据与Google+朋友列表使用的数据至少有相似之处,所以我想要的是一个Python库,它提供了一个虚假的Google+社交API,可以获取:1)Google+朋友列表,以及2)Google+社区成员列表.

python api google-plus

7
推荐指数
0
解决办法
2057
查看次数

如何格式化 Pandas timedelta 对象?

我正在使用熊猫 timedelta对象来跟踪体育相关数据集中的分割时间,使用以下类型的构造:

import pandas as pd
pd.to_timedelta("-0:0:1.0")
Run Code Online (Sandbox Code Playgroud)

这本机报告为:

-1 days +23:59:59

我可以使用原始秒数计算,pd.to_timedelta("-0:0:1.0").total_seconds()但如果负数以分钟或小时为单位,那就很笨拙了:

对于表达式:

pd.to_timedelta("-1:2:3.0")
Run Code Online (Sandbox Code Playgroud)

如何从对象中获取格式为"-1:2:3.0, 或的报告,而不是格式(带有浮点错误)或?-1 hour, 2 minutes, 3 secondstimedelta-3723.0000000000005-1 days +22:57:57

timedelta pandas

7
推荐指数
1
解决办法
8575
查看次数

使用Python Mechanize屏幕分析aspx - Javascript表单提交

我想凑英国食品评级机构数据的aspx SEACH结果页面(E,G.http://ratings.food.gov.uk/QuickSearch.aspx?q=po30上scraperwiki使用机械化/ Python的()HTTP:/ /scraperwiki.com/scrapers/food_standards_agency/)但在尝试关注具有以下形式的"下一页"链接时遇到问题:

<input type="submit" name="ctl00$ContentPlaceHolder1$uxResults$uxNext" value="Next >" id="ctl00_ContentPlaceHolder1_uxResults_uxNext" title="Next >" />
Run Code Online (Sandbox Code Playgroud)

表单处理程序如下所示:

<form method="post" action="QuickSearch.aspx?q=po30" onsubmit="javascript:return WebForm_OnSubmit();" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_ContentPlaceHolder1_buttonSearch')" id="aspnetForm">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
Run Code Online (Sandbox Code Playgroud)

手动单击"下一步"链接时的HTTP跟踪显示__EVENTTARGET为空?我可以在其他刮刀上找到的所有婴儿床都显示__EVENTTARGET的操纵作为处理下一页的方式.

实际上,我不确定我要抓的页面是如何加载下一页的?无论我在刮刀上扔什么,它只能设法加载第一个结果页面.(即使能够改变每页的结果数量也很有用,但我也看不出怎么做!)

那么 - 关于如何刮取N + 0的1 + N'结果页面的任何想法?

python asp.net mechanize scraperwiki

6
推荐指数
1
解决办法
5798
查看次数

通过JQuery使用带有动态加载数据的Protovis

我正在动态地将一些社交网络数据加载到我想要使用protovis进行可视化的网页中.(实际上,数据是在两遍过程中加载的 - 首先是从Twitter获取用户名列表,然后是社交列表连接是从Google Social API中获取的.)protovis代码似乎在事件循环中运行,这意味着数据加载代码需要在此循环之外.

在"打开"protovis事件循环之前,如何将数据加载到页面并解析它?目前,我认为有一种竞争条件,即protovis试图可视化尚未加载和解析的网络数据?

<html><head><title></title> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
<script type="text/javascript" src="../protovis-3.2/protovis-r3.2.js"></script>
<script type="text/javascript"> 

//getNet is where we get a list of Twitter usernames
function getNet(){

  url="http://search.twitter.com/search.json?q=jisc11&callback=?"
  $.getJSON(url,function(json){
    users=[]
    uniqusers={}
    for (var u in json['results']) {
      uniqusers[json['results'][u]['from_user']]=1
    }
    for (var uu in uniqusers)
      users.push(uu)
    getConnections(users)
  })
}

//getConnections is where we find the connections between the users identified by the list of Twitter usernames
function getConnections(users){
  //Google social API limits lookup to 50 URLs; need to page this...
  if …
Run Code Online (Sandbox Code Playgroud)

jquery protovis

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

使用 Streamz 从 pandas DataFrame 进行流式传输

和包一起工作streamzhvplot为使用 pandas 数据帧绘制流数据提供支持。

例如,该streamz包有一个用于创建随机流数据帧的便利实用程序:

import hvplot.streamz
from streamz.dataframe import Random

sdf = Random(interval='200ms', freq='50ms')
sdf
# Stop the streaming with: sdf.stop()
Run Code Online (Sandbox Code Playgroud)

可以使用以下命令在流图表中简单地绘制此图hvplot

sdf.hvplot()
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以从预先存在的pandas数据帧中传输数据?

例如,我希望能够这样说:

import pandas as pd

df=pd.DataFrame({'a':range(0,100),'b':range(5,105)})

sdf = StreamingDataFrame(df, interval='200ms', freq='50ms')

Run Code Online (Sandbox Code Playgroud)

然后,我可以简单地使用预先存在的pandas数据帧中的示例数据,而不是使用随机示例数据。

pandas holoviews hvplot holoviz

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