小编Dro*_*ror的帖子

结合组织模式捕获和钻取模块来学习词汇

我想使用capture模块org-mode来创建我想要学习的新单词的数据库,然后使用该drill模块来学习它们(闪存卡样式).

在我的org-capture-templates我添加了以下内容:

("v" "Vocabulary" entry
               (file+headline (concat org-directory "/vocab.org")
                              "Vocabulary")
               "* Word :drill:\n%^ \n** Answer \n%^")
Run Code Online (Sandbox Code Playgroud)

这是我从这里借来的一个相当天真的模板.它工作正常,但它太有限了.不幸的是,我很陌生elisp,我不知道如何改进它.

我认为上述模板必须在以下方面进行改进:

标题当前第一个输入字符串是(新)字,标题是固定的.标题如何是相同(输入)字?我认为以下结果是可取的:

* Vocabulary
** Foo :drill:
Foo
*** Answer
What is foo
Run Code Online (Sandbox Code Playgroud)

实际上更好的方法是拥有3个输入字符串.

  1. 新单词(例如foo)将成为标题.
  2. 如果第二个为空,则它获得与(1)相同的字符串.否则,将字符串连接到(1)中的字符串.例如,作为第二输入bar将产生foo bar.这将是条目的内容.
  3. 这个词的定义应该出现在answer副标题中.

重复(再次参见)如果在以后的某个时候,我试图捕捉foo一次,我想知道,并且被引导到编辑已经存在的项目-跳过所有的输入.

排序捕获之后我认为排序单词列表会很好.鉴于每个条目的标题都是单词本身,这不应该太难.在这种情况下,可以使用该org-sort-entries功能.

我知道这是一个相当大的问题,但我也认为如果能在这里解决它对许多用户来说将是非常有用的.


编辑:


使用@juan_g建议,我改进了我的模板,现在它是:

("v" "Vocabulary" entry
               (file+headline (concat org-directory "/vocab.org")
                              "Vocabulary")
               "* %^{The word} …
Run Code Online (Sandbox Code Playgroud)

emacs elisp org-mode

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

在具有ssh访问权限的服务器上设置git存储库

按照此链接中的说明,我设法$HOME在uni的服务器上创建了一个存储库.我使用在服务器上克隆/拉/推到这个存储库SSH.

我的问题是:是否可以clone/push/pull从此存储库授予其他人访问权限?显然我在服务器端没有root权限.此外,我不想把它作为一个公共存储库...我想知道谁克隆并推动这个.

我可以在帐户的网络存储部分执行类似的操作吗?我的wesite存储在哪里,然后使用类似htaccess管理访问的东西?

git

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

在熊猫中按年/月/日分组

假设有以下内容DataFrame:

rng = pd.date_range('1/1/2011', periods=72, freq='H')
np.random.seed(10)
n = 10
df = pd.DataFrame(
    {
        "datetime": np.random.choice(rng,n),
        "cat": np.random.choice(['a','b','b'], n),
        "val": np.random.randint(0,5, size=n)
        }
    )
Run Code Online (Sandbox Code Playgroud)

如果我现在groupby:

gb = df.groupby(['cat','datetime']).sum()
Run Code Online (Sandbox Code Playgroud)

我得到cat每小时的总数:

cat datetime            val
a   2011-01-01 00:00:00 1
    2011-01-01 09:00:00 3
    2011-01-02 16:00:00 1
    2011-01-03 16:00:00 1
b   2011-01-01 08:00:00 4
    2011-01-01 15:00:00 3
    2011-01-01 16:00:00 3
    2011-01-02 04:00:00 4
    2011-01-02 05:00:00 1
    2011-01-02 12:00:00 4
Run Code Online (Sandbox Code Playgroud)

但是,我希望有类似的东西:

cat datetime   val
a   2011-01-01 4
    2011-01-02 1
    2011-01-03 …
Run Code Online (Sandbox Code Playgroud)

python data-analysis business-intelligence pandas

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

使用 SQL 计算组大小的比率

考虑一个简单的 group by 查询:

select foo, count(*)
    from mytable where bar=10 
group by foo
Run Code Online (Sandbox Code Playgroud)

这将返回一个具有以下形式的表:

foo | count
----+------
a   | 100
b   | 200
c   | 300
Run Code Online (Sandbox Code Playgroud)

我的目标是使用单个查询获得下表:

foo | count | ratio
----+-------+-------
a   | 200   | 18.2
b   | 300   | 27.3
c   | 600   | 54.5
Run Code Online (Sandbox Code Playgroud)

在实践中,我有更多可能的值,foo因此这里的答案没有帮助。此外,并不是将比率四舍五入并乘以 100。

这样做的最佳做法是什么?

sql vertica

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

在 pandas 中,按 DatetimeIndex 中的日期进行分组

考虑以下综合示例:

import pandas as pd
import numpy as np
np.random.seed(42)
ix = pd.date_range('2017-01-01', '2017-01-15', freq='1H')
df = pd.DataFrame(
    {
        'val': np.random.random(size=ix.shape[0]),
        'cat': np.random.choice(['foo', 'bar'], size=ix.shape[0])
    },
    index=ix
)
Run Code Online (Sandbox Code Playgroud)

这会产生以下形式的表:

                    cat val
2017-01-01 00:00:00 bar 0.374540
2017-01-01 01:00:00 foo 0.950714
2017-01-01 02:00:00 bar 0.731994
2017-01-01 03:00:00 bar 0.598658
2017-01-01 04:00:00 bar 0.156019
Run Code Online (Sandbox Code Playgroud)

现在,我想计算每个类别和日期的实例数量和平均值。

以下groupby,几乎是完美的:

df.groupby(['cat',df.index.date]).agg({'val': ['count', 'mean']})
Run Code Online (Sandbox Code Playgroud)

返回:

                val
                count   mean
cat         
bar 2017-01-01  16  0.437941
    2017-01-02  16  0.456361
    2017-01-03  9   0.514388...
Run Code Online (Sandbox Code Playgroud)

这个的问题是索引的第二层变成了字符串而不是date. 第一个问题:为什么会发生这种情况?我怎样才能避免它?

groupby接下来,我尝试了和的组合 …

python pandas

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

有一个带下标和上标的参数

我想在mathematica中定义一个具有多个参数的对象/符号,例如:( S=(1-t)({b_i}^x,{b_i}^y)+t({b_{i+1}}^x,{b_{i+1}}^y)某种LaTeX表示法).在这个例子中,我试图描述的线段连接两个点b_ib_{i+1}.

我该如何定义这样的对象mathematica

我发现了以下两个问题:

但我不确定我是否正确使用它们.我所做的是以下内容.首先我调用:

Needs["Notation`"];

Symbolize[
ParsedBoxWrapper[
SubscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]

Symbolize[
ParsedBoxWrapper[
SuperscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]
Run Code Online (Sandbox Code Playgroud)

然后,我实际上定义了对象:

(1 - t) {Subscript[b, i]^x, Subscript[b, i]^y} + 
 t {Subscript[b, i + 1]^x, Subscript[b, i + 1]^y}
Run Code Online (Sandbox Code Playgroud)

这是做我想要的正确方法吗?

wolfram-mathematica

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

将目录附加到SVN中的忽略列表

我有一个涉及许多子目录的大目录树.在许多目录中,我使用svn propedit svn:ignore .了给定目录中的被忽略的文件和/或目录.现在,我想在所有子目录中忽略调用的目录foo.在这个答案中,建议调用:

svn propset --recursive svn:ignore foo .
Run Code Online (Sandbox Code Playgroud)

从树的根.问题是,一旦调用它,它将覆盖各个子目录中的所有预定义忽略 - 这是不希望的.本质上我想附加到树中每个目录的忽略列表,其中包含一个条目foo.SVN是否支持这种行为?如果没有,那么我正在考虑编写这个任务的脚本,并dir-prop-base在每个./sub/directory/.svn(.树的根)所需的行中添加到文件(似乎包含忽略列表).这样做是否安全?,即手动搞乱.svn内容?

svn

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

使用pandas groupby时结合复杂的聚合函数

想想下表

np.random.seed(42)
ix = pd.date_range('2017-01-01', '2017-01-15', freq='60s')
df = pd.DataFrame(
    {
        'val': np.random.random(size=ix.shape[0]),
        'active': np.random.choice([0,1], size=ix.shape[0])
    },
    index=ix
)
df.sample(10)
Run Code Online (Sandbox Code Playgroud)

产生:

                    active   val
2017-01-02 06:05:00 1   0.774654
2017-01-04 08:15:00 1   0.934796
2017-01-13 01:02:00 0   0.792351...
Run Code Online (Sandbox Code Playgroud)

我的目标是计算:

  • 每天总和
  • 每天的活动总和

每天总和这是一个简单的:

gb = df.groupby(pd.to_datetime(df.index.date))
overall_sum_per_day = gb['val'].sum().rename('overall')
Run Code Online (Sandbox Code Playgroud)

每个活动日的总和这有点棘手(请参阅)。

active_sum_per_day = gb.agg(lambda x: x[x.active==1]['val'].sum())['val'].rename('active')
Run Code Online (Sandbox Code Playgroud)

我的问题如何将两者结合起来。使用concat

pd.concat([overall_sum_per_day, active_sum_per_day], axis=1)
Run Code Online (Sandbox Code Playgroud)

我可以达到我的目的。但是我无法一次性实现它并立即应用两个聚合。是否可以?看到这个评论

python pandas

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

使用 Seaborn 的分布图的部分阴影

以下简单代码:

import numpy as np
import seaborn as sns
dist = np.random.normal(loc=0, scale=1, size=1000)
ax = sns.kdeplot(dist, shade=True);
Run Code Online (Sandbox Code Playgroud)

产生以下图像:

在此处输入图片说明

我只想将所有内容都正确着色(或保留某些 x 值)。最简单的方法是什么?我准备使用 Seaborn 以外的其他东西。

python data-visualization distribution matplotlib seaborn

4
推荐指数
2
解决办法
2710
查看次数

蟒蛇Enum的好印刷品

假设我有以下内容:

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
Run Code Online (Sandbox Code Playgroud)

作为输出print(Color),我想看到:

The colors are:
- RED
- GREEN
- BLUE
Run Code Online (Sandbox Code Playgroud)

我试过了:

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

    @classmethod
    def __str__(self):
        res = "The colors are:\n"
        for g in set(map(lambda c: c.name, Color)):
            res += '- ' + g + '\n'
        return res
Run Code Online (Sandbox Code Playgroud)

但它只能起作用print(Color(1)).使用时如何使其正常工作print(Color)

python enums metaclass

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