小编knu*_*nub的帖子

Pandas df.resample具有列特定的聚合函数

使用pandas.DataFrame.resample,我可以对DataFrame进行下采样:

df.resample("3s", how="mean")
Run Code Online (Sandbox Code Playgroud)

这会重新采样具有类似日期时间的索引的数据帧,以便将3秒内的所有值聚合到一行中.列的值是平均值.

问题:我有一个包含多列的数据框.是否可以为不同的列指定不同的聚合函数,例如我想要"sum"列x,"mean"列y并选择"last"for列z?我怎样才能达到这个效果?

我知道我可以创建一个新的空数据框,然后调用resample三次,但我更喜欢更快的就地解决方案.

python pandas

7
推荐指数
2
解决办法
6430
查看次数

PostgreSQL:查询 JSON 数组中的元素

我有一个如下所示的数据库表:

---------------------------------------
| id | json_array (jsonb)             |
---------------------------------------
|  1 | [{"a": 1}, {"a": 5}, {"a": 1}] |
|  2 | [{"a": 2}]                     |
|  3 | [{"a": 1}]                     |
---------------------------------------
Run Code Online (Sandbox Code Playgroud)

我想使用 PostgreSQL 的 JSON 查询功能来选择json_array数组中的某些子字典,例如字典 where "a": 1。

输出应该是

------------------
| id | json_dict |
------------------
|  1 | {"a": 1}  |
|  1 | {"a": 1}  |
|  3 | {"a": 1}  |
------------------
Run Code Online (Sandbox Code Playgroud)

以下查询适用于每个数组中的第一个元素,但我想检查所有元素:

---------------------------------------
| id | json_array (jsonb)             |
---------------------------------------
| …
Run Code Online (Sandbox Code Playgroud)

sql postgresql json jsonb

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

了解红宝石quine

我在维基百科上发现了这个代码块,作为Ruby中的一个quine(打印自己的程序)的例子.

puts <<2*2,2
puts <<2*2,2
2
Run Code Online (Sandbox Code Playgroud)

但是,我不知道它是如何工作的.特别是,我没有得到的是,当我删除最后一行时,我收到此错误:

语法错误,意外$ end,期待tSTRING_CONTENT或tSTRING_DBEG或tSTRING_DVAR或tSTRING_END

那些线会发生什么?

ruby heredoc quine

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

Pandas 使用固定行数重新采样数据框

使用pandas.DataFrame.resample我可以将 DataFrame 下采样到特定的持续时间:

df.resample("3s").mean()
Run Code Online (Sandbox Code Playgroud)

但是,我不想指定某个时间,而是指定原始数据框中固定数量的行,例如“重新采样,使以前的三行现在聚合为一”。这在大熊猫中怎么可能?

python pandas

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

Scala中的多键映射

如何在Scala中创建一个Map,它不仅将一个参数作为键,而是两个或三个.

val map = //..?
map("abc", 1) = 1
println(map("abc", 2)) // => null
println(map("abc", 1)) // => 1
Run Code Online (Sandbox Code Playgroud)

我尝试使用元组作为键,但后来我必须分配这样的值

map(("abc", 1)) = 1
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式摆脱内部括号吗?

scala key hashmap map scala-collections

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

使用gsutil重命名GCS中的文件夹

我无法重命名GCS中的现有文件夹。我该怎么做呢?

根据文档,这应该是:

gsutil mv gs://my_bucket/olddir gs://my_bucket/newdir
Run Code Online (Sandbox Code Playgroud)

但是,发生的olddir是放置在下方newdir,即目录结构如下(在调用之后gsutil mv):

my_bucket
    newdir
        olddir
Run Code Online (Sandbox Code Playgroud)

而不是(我所期望的)

my_bucket
    newdir
Run Code Online (Sandbox Code Playgroud)

我已经尝试过是否将斜杠全部放在四个组合中,但都没有用。

google-cloud-storage gsutil google-cloud-platform

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

使用 `git commit -a` 时查找 git `pre-commit` 挂钩中的暂存文件

我正在使用一个git pre-commit钩子来自动格式化所有暂存文件。我通过确定暂存文件git diff --name-only --cached,然后在这些文件上调用脚本。这一切在标准用例中都运行良好,但是当我通过提交时它不起作用

git commit -a ..
Run Code Online (Sandbox Code Playgroud)

因为文件尚未暂存。

有什么方法可以:

  1. 在钩子之前运行-a效果(将文件添加到暂存区)pre-commit?

  2. 发现预提交在-a提交中运行?

一定有办法处理这个问题。

git pre-commit-hook githooks git-commit

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

Python:二进制掩码中从索引到1的距离

我有一个像这样的二进制掩码:

X = [[0, 0, 0, 0, 0, 1],
     [0, 0, 0, 0, 1, 1],
     [0, 0, 0, 1, 1, 1],
     [0, 0, 1, 1, 1, 1],
     [0, 0, 1, 1, 1, 1],
     [0, 0, 0, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)

我在这个数组中有一个特定的索引,并且想要计算从该索引到1掩码中最接近的索引的距离。如果该索引处已经有 a 1,则距离应该为零。示例(假设曼哈顿距离):

distance(X, idx=(0, 5)) == 0 # already is a 1 -> distance is zero
distance(X, idx=(1, 2)) == 2 # second row, third column
distance(X, idx=(0, 0)) == 5 # upper left corner
Run Code Online (Sandbox Code Playgroud)

Python/NumPy/SciPy 中是否已经存在这样的功能?欧几里德距离和曼哈顿距离都可以。我宁愿避免计算整个矩阵的距离(因为在我的情况下它相当大),并且只获取我的一个索引的距离。

python numpy scipy

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

在Tensorflow的数据集API中使用flat_map

我正在使用数据集API,按如下所示读取数据:

dataset = tf.data.TFRecordDataset(filename, compression_type="GZIP")
dataset = dataset.map(lambda str: tf.parse_single_example(str, feature_schema))
Run Code Online (Sandbox Code Playgroud)

现在,我想使用flat_map它来过滤掉一些样本,同时在训练时动态地复制一些其他样本(这是导致我的模型的输入函数)。

该API flat_map需要返回一个Dataset对象,但是我不知道如何创建该对象。这是我要实现的伪代码实现:

def flat_map_impl(tf_example):
    # Pseudo-code:
    # if tf_example["a"] == 1:
    #     return []
    # else:
    #     return [tf_example, tf_example]

dataset.flat_map(flat_map_impl)
Run Code Online (Sandbox Code Playgroud)

如何在flat_map函数中实现呢?

注意:我想可以通过来实现这一点py_func,但我宁愿避免这种情况。

tensorflow tensorflow-datasets

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