小编fog*_*rit的帖子

在 Altair 中将垂直线叠加到绘图上

我有一个如下所示的数据框df

+---+------------+-----------+--------+
|   |    date    | violation | pounds |
+---+------------+-----------+--------+
| 0 | 2010-05-13 | N         | NaN    |
| 1 | 2015-04-22 | Y         | NaN    |
| 2 | 2009-08-12 | Y         | NaN    |
| 3 | 2006-06-01 | NaN       | 3732.0 |
| 4 | 2006-08-01 | NaN       | 1340.0 |
| 5 | 2006-10-01 | NaN       | 1310.0 |
+---+------------+-----------+--------+
Run Code Online (Sandbox Code Playgroud)

我想pounds用时间序列给出的水平坐标在垂直轴上绘制变量date,并将垂直线覆盖在violation不是 Nan 的地方。基本上,我想要下面的图表,除了在非 NaN 值为 的垂直条 …

python plot visualization pandas altair

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

MATLAB:任意数量的单元阵列的组合

在MATLAB中是否有一个命令或单行策略,它将返回一次n采取的单元阵列组件的所有组合n

我想要完成的一个例子:

A = {'a1','a2'};
B = {'b1','b2','b3'};
C = combinations(A,B)
C = {'a1','b1' ;
     'a1','b2' ;
     'a1','b3' ;
     'a2','b1' ;
     'a2','b2' ;
     ... }
Run Code Online (Sandbox Code Playgroud)

该命令将能够接受任意数量的参数,并且示例中的结果将具有与函数的参数一样多的列.(当然,上面的语法仅用于说明以及任何可以生成结果的方法,无论格式适合该法案)

编辑:类似的问题已被要求矩阵而不是细胞,例如链接.许多解决方案都指向FEX提交allcomb,但所有这些解决方案都只是围绕ndgrid的包装器,它只适用于双打.对非数字集的任何建议?

matlab combinations

5
推荐指数
2
解决办法
2590
查看次数

无法连接到 Jupyter Notebook - tornado.websocket.WebSocketClosedError

我已经安装了 Anaconda,当我运行 Jupyter Notebook 并尝试创建一个新笔记本时,它无法连接。它只是尝试连接一段时间,我收到下面的 Traceback 错误。

我已经浏览了关于此错误的所有帖子两天了,但没有任何成功。我曾尝试将 tornado 降级到 5.1.1、升级笔记本、在虚拟环境中运行它等。

任何帮助将不胜感激。

[I 20:20:54.106 NotebookApp] Restoring connection for a92303c8-0087-407e-ae8b-e234f4cf7157:f641986b51bf43359e17929728ccbb13
[I 20:20:54.120 NotebookApp] Starting buffering for a92303c8-0087-407e-ae8b-e234f4cf7157:f641986b51bf43359e17929728ccbb13
[I 20:20:55.145 NotebookApp] Restoring connection for a92303c8-0087-407e-ae8b-e234f4cf7157:f641986b51bf43359e17929728ccbb13
[I 20:20:55.156 NotebookApp] Starting buffering for a92303c8-0087-407e-ae8b-e234f4cf7157:f641986b51bf43359e17929728ccbb13
Future exception was never retrieved
future: <Future finished exception=WebSocketClosedError()>
Traceback (most recent call last):
  File "C:\Anaconda\Anaconda3\lib\site-packages\tornado\websocket.py", line 874, in wrapper
    yield fut
  File "C:\Anaconda\Anaconda3\lib\site-packages\tornado\gen.py", line 1133, in run
    value = future.result()
tornado.iostream.StreamClosedError: Stream is closed

During handling of the above …
Run Code Online (Sandbox Code Playgroud)

python tornado anaconda jupyter-notebook

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

MySQL:将日期范围扩展为新行

我在 MySQL 中有一个表,其中包含每个键的最小和最大日期值:

key |   minDate   |   maxDate
 1     2011-01-01   2011-01-10 
 2     2011-02-13   2011-02-15
 3     2011-10-19   2011-12-10
Run Code Online (Sandbox Code Playgroud)

如何为每个键的 minDate 和 maxDate 之间的每个日期创建一个包含一行的新表:

key |     Date   
 1     2011-01-01
 1     2011-01-02
 ...     ...
 1     2011-01-10
 2     2011-02-13
 2     2011-02-14
 2     2011-02-15
 3     2011-10-19
 ...     ...
Run Code Online (Sandbox Code Playgroud)

mysql sql

4
推荐指数
1
解决办法
2458
查看次数

熊猫:使用MultiIndex进行选择

考虑以下DataFrames

In [136]:
df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'C':np.arange(10,30,5)}).set_index(['A','B'])
df
Out[136]:
      C
A B    
1 1  10
  2  15
2 1  20
  2  25

In [130]:
vals = pd.DataFrame({'A':[1,2],'values':[True,False]}).set_index('A')
vals
Out[130]:
  values
A       
1   True
2  False
Run Code Online (Sandbox Code Playgroud)

如何只选择df具有相应True值的行vals

如果我reset_index在两个帧上,我现在可以合并/加入它们并切片但是我想要,但我怎么能使用(多)索引呢?

python pandas

4
推荐指数
1
解决办法
2208
查看次数

将数据框转换为嵌套的 json

我在用

pd.read_sql_query() 
Run Code Online (Sandbox Code Playgroud)

从数据库中获取数据,然后使用

to_json(orient='records') 
Run Code Online (Sandbox Code Playgroud)

这是数据框:

(1)
  price_formula_id  premium  product_id  exchange  product_name  product_code   weight  
0            30064      0.0        c001       CME          2018            CL      0.3
1            30064      0.0        c002       CME          2018            CL      0.7

(2)
price_formula_id  premium  product_id  exchange  product_name  product_code   weight  
0            30064      NONE        c001       CME          2018            CL      0.3
1            30064      NONE        c002       CME          2018            CL      0.7
Run Code Online (Sandbox Code Playgroud)

转换成这个阵型。

[{
    "price_formula_id": "30064",
    "premium": "0.0",
    "product_id": "c001",
    "exchange": "CME",
    "product_name": "2018",
    "product_code": "CL",
    "weight": "0.3"
},
{
    "price_formula_id": "30064",
    "premium": "0.0",
    "product_id": "c002",
    "exchange": "CME",
    "product_name": …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
2713
查看次数

Python 2到3转换:在子流程stdout中的行上迭代

我有以下要与Python 3兼容的Python 2示例代码:

call = 'for i in {1..5}; do sleep 1; echo "Hello $i"; done'
p = subprocess.Popen(call, stdout=subprocess.PIPE, shell=True)
for line in iter(p.stdout.readline, ''):
    print(line, end='')
Run Code Online (Sandbox Code Playgroud)

这在Python 2中效果很好,但是在Python 3 p.stdout中不允许我指定编码,读取它会返回字节字符串,而不是Unicode,因此与的比较''将始终返回false并且iter不会停止。这个问题似乎意味着在Python 3.6中将有一种定义此编码的方法。

现在,我已将iter调用更改为在找到一个空字节字符串时停止它iter(p.stdout.readline, b''),它似乎在2和3中都有效。我的问题是:在2和3中这都安全吗?有没有更好的方法来确保兼容性?

注意:我没有使用,for line in p.stdout:因为我需要在生成每行时打印每行,并且根据此答案, p.stdout缓冲区太大。

python subprocess python-3.x

3
推荐指数
1
解决办法
1155
查看次数

交错的repmat

可能重复:
Matlab中的元素阵列复制

我有一个m x 1矢量,我想重复n一次创建一个(m*n)x1矢量.如果我使用repmat,我会得到类似的东西

>> V = [a;b;c];
>> repmat(V,2,1) % n = 2, m = 3
a
b
c
a
b
c
Run Code Online (Sandbox Code Playgroud)

什么是获得向量的单行(并且希望是快速)方式

[a;a;a;b;b;b;c;c;c]
Run Code Online (Sandbox Code Playgroud)

任意nm

matlab

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

关于我的存储库结构的建议

我是一名应用数学家,最近我加入了一个涉及为我们的科学应用开发生产代码的项目.代码库不小,它作为Web应用程序的一部分进行部署.

当我加入时,代码奇迹般地维护而没有修订控制系统.服务器中有一个中央文件夹,研究人员在需要使用代码时会从中复制.在这个根目录中有一组目录,其中包含不同版本的代码,因此人们可以开始处理他们找到的最新版本,并创建一个带有修改版本的新版本.

我创建了一个Mercurial存储库,为其添加了所有代码版本,并说服每个人使用它.然而,自从转向Mercurial以来,我们几乎没有需要升级版本号,即使使用困难也可以hg copy让我们保留修订历史记录.

在这里,我需要您就维护此代码库的最佳实践提出建议.在RCS下,在repo中保留不同版本的文件夹是否有意义?如果我们在repo中保留一份代码副本,那么跟踪版本的最常用方法是什么?自述文件?我们是否应该在repo指定版本之外保留代码的快照?保持原样是否有意义?你用什么策略?

我们的团队是一群科学家,没有人有如何维护这样一个回购的经验,所以我对通常做的事感兴趣.

mercurial rcs

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