我想使用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个输入字符串.
foo)将成为标题.bar将产生foo bar.这将是条目的内容.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) 按照此链接中的说明,我设法$HOME在uni的服务器上创建了一个存储库.我使用在服务器上克隆/拉/推到这个存储库SSH.
我的问题是:是否可以clone/push/pull从此存储库授予其他人访问权限?显然我在服务器端没有root权限.此外,我不想把它作为一个公共存储库...我想知道谁克隆并推动这个.
我可以在帐户的网络存储部分执行类似的操作吗?我的wesite存储在哪里,然后使用类似htaccess管理访问的东西?
假设有以下内容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) 考虑一个简单的 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。
这样做的最佳做法是什么?
考虑以下综合示例:
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接下来,我尝试了和的组合 …
我想在mathematica中定义一个具有多个参数的对象/符号,例如:( S=(1-t)({b_i}^x,{b_i}^y)+t({b_{i+1}}^x,{b_{i+1}}^y)某种LaTeX表示法).在这个例子中,我试图描述的线段连接两个点b_i和b_{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)
这是做我想要的正确方法吗?
我有一个涉及许多子目录的大目录树.在许多目录中,我使用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内容?
想想下表
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)
我可以达到我的目的。但是我无法一次性实现它并立即应用两个聚合。是否可以?看到这个评论。
以下简单代码:
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 以外的其他东西。
假设我有以下内容:
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)?