小编mac*_*13k的帖子

是否可以使用步长大于 1 的 pandas.DataFrame.rolling ?

在 R 中,您可以使用指定的窗口计算滚动平均值,该窗口每次可以移动指定的量。

但是,也许我只是没有在任何地方找到它,但您似乎无法在 Pandas 或其他 Python 库中找到它?

有谁知道解决这个问题的方法?我会给你一个例子来说明我的意思:

例子

这里我们有双周数据,我正在计算两个月移动平均线,该移动平均线移动 1 个月,即 2 行。

所以在 RI 中会做类似的事情:two_month__movavg=rollapply(mydata,4,mean,by = 2,na.pad = FALSE) Python 中没有等价物吗?

编辑1:

DATE  A DEMAND   ...     AA DEMAND  A Price
    0  2006/01/01 00:30:00  8013.27833   ...     5657.67500    20.03
    1  2006/01/01 01:00:00  7726.89167   ...     5460.39500    18.66
    2  2006/01/01 01:30:00  7372.85833   ...     5766.02500    20.38
    3  2006/01/01 02:00:00  7071.83333   ...     5503.25167    18.59
    4  2006/01/01 02:30:00  6865.44000   ...     5214.01500    17.53
Run Code Online (Sandbox Code Playgroud)

python numpy r zoo pandas

11
推荐指数
4
解决办法
6528
查看次数

访问从 Chrome 扩展程序动态更新的 DOM

我正在使用 Chrome 扩展程序从一个站点抓取数据。网站上有一个“加载更多”div,可在点击时加载接下来的 30 条记录。我使用下面的代码单击并加载数据:

内容.js

setTimeout(function(){
  var activityTab = document.getElementsByClassName("loadMore")[0];
  activityTab.click();
}, 5000);
Run Code Online (Sandbox Code Playgroud)

它加载接下来的 30 条记录并生成一个新的“加载更多”div,但我无法单击这个新的动态加载的“加载更多”div。如何在 JavaScript 中访问原始站点中动态生成的 HTML?我只能访问页面加载时原始站点的 DOM 中可用的数据。

javascript google-chrome-extension

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

计数是否在多个索引数据框中

我有一个多索引数据框,我想知道为 3 个标准中的每一个支付了特定债务门槛的客户百分比:城市、卡和抵押品。

这是一个工作脚本:

import pandas as pd

d = {'City': ['Tokyo','Tokyo','Lisbon','Tokyo','Tokyo','Lisbon','Lisbon','Lisbon','Tokyo','Lisbon','Tokyo','Tokyo','Tokyo','Lisbon','Tokyo','Tokyo','Lisbon','Lisbon','Lisbon','Tokyo','Lisbon','Tokyo'], 
     'Card': ['Visa','Visa','Master Card','Master Card','Visa','Master Card','Visa','Visa','Master Card','Visa','Master Card','Visa','Visa','Master Card','Master Card','Visa','Master Card','Visa','Visa','Master Card','Visa','Master Card'],
     'Colateral':['Yes','No','Yes','No','No','No','No','Yes','Yes','No','Yes','Yes','No','Yes','No','No','No','Yes','Yes','No','No','No'],
     'Client Number':[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],
     '% Debt Paid':[0.8,0.1,0.5,0.30,0,0.2,0.4,1,0.60,1,0.5,0.2,0,0.3,0,0,0.2,0,0.1,0.70,0.5,0.1]}

df = pd.DataFrame(data=d)

df1 = (df.set_index(['City','Card','Colateral'])
         .drop(['Client Number'],axis=1)
        .sum(level=[0,1,2]))

df2 = df1.reindex(pd.MultiIndex.from_product(df1.index.levels), fill_value=0)
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此处输入图片说明

为了克服这个问题,我尝试了以下方法但没有成功:


df1 = (df.set_index(['City','Card','Colateral'])
        .drop(['Client Number'],axis=1)
       [df.Total = 0].count(level=[0,1,2])/[df.Total].count()
       [df.Total > 0 & df.Total <=0.25 ].count(level=[0,1,2])/[df.Total].count()
       [df.Total > 0.25 & df.Total <=0.5 ].count(level=[0,1,2])/[df.Total])
       [df.Total > 0.5 & df.Total <=0.75 ].count(level=[0,1,2])/[df.Total]
       [df.Total > 0.75 & df.Total <1 …
Run Code Online (Sandbox Code Playgroud)

python multi-index dataframe python-3.x pandas

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

如何将整行与另一个数据框中的匹配行名称相乘?

假设我有以下数据框:

    test <- data.frame(X = c(1,2,3), Y = c(4,5,6), row.names = c("T1", "T2", "T3"))

    test2 <- data.frame(mean = c(1,2,5), row.names = c("T1", "T2", "T3"))
Run Code Online (Sandbox Code Playgroud)

我想将测试数据帧中的所有行乘以由行名称匹配的 test2 数据帧中的值。我该怎么做才能得到这样的答案:

    answer <- data.frame(X = c(1,4,15), Y = c(4,10,30), row.names = c("T1", "T2", "T3"))
Run Code Online (Sandbox Code Playgroud)

r

6
推荐指数
2
解决办法
99
查看次数

如何在 Python 中将 .docx 转换为 .txt

我想将大量 MS Word 文件转换为纯文本格式。我不知道如何在 Python 中做到这一点。我在网上找到了以下代码。我的路径是本地路径,所有文件名都类似于 cx-xxx(即 c1-000、c1-001、c2-000、c2-001 等):

from docx import [name of file]
import io
import shutil
import os

def convertDocxToText(path):
for d in os.listdir(path):
    fileExtension=d.split(".")[-1]
    if fileExtension =="docx":
        docxFilename = path + d
        print(docxFilename)
        document = Document(docxFilename)
        textFilename = path + d.split(".")[0] + ".txt"
        with io.open(textFilename,"c", encoding="utf-8") as textFile:
            for para in document.paragraphs: 
                textFile.write(unicode(para.text))

path= "/home/python/resumes/"
convertDocxToText(path)
Run Code Online (Sandbox Code Playgroud)

python cpu-word

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

Linux、waitpid、WNOHANG、子进程、僵尸

我作为守护进程运行我的程序。

父进程只等待子进程,当子进程意外死亡时,再次fork并等待。

for (; 1;) {
  if (fork() == 0) break;
  int sig = 0;
  for (; 1; usleep(10000)) {
    pid_t wpid = waitpid(g->pid[1], &sig, WNOHANG);
    if (wpid > 0) break;
    if (wpid < 0) print("wait error: %s\n", strerror(errno));
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当子进程被-9信号杀死时,子进程就会进入僵尸进程。

waitpid应该立即返回子进程的pid!
waitpid大约90秒后得到了pid号,

cube     28139  0.0  0.0  70576   900 ?        Ss   04:24   0:07 ./daemon -d
cube     28140  9.3  0.0      0     0 ?        Zl   04:24 106:19 [daemon] <defunct>
Run Code Online (Sandbox Code Playgroud)

这是父亲的踪迹

父亲没有被卡住,wait4 总是被调用。

strace -p 28139
Process 28139 attached …
Run Code Online (Sandbox Code Playgroud)

linux kill process zombie-process waitpid

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

如何检查pandas数据帧中是否存在具有特定列值的行

对熊猫来说很新鲜.

如果存在具有特定列值的行,是否有办法检查给定的pandas数据帧.假设我有一个"名称"列,我需要检查某个名称是否存在.

一旦我这样做,我将需要进行类似的查询,但一次只有一堆值.我读到有'isin',但我不确定如何使用它.因此,我需要进行一个查询,以便获得所有具有"Name"列的行,这些行与大量名称中的任何值匹配.

python dataframe pandas

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

vainfo - iHD_drv_video.so 初始化失败

我正在尝试在 LattePanda 板(Ubuntu 16.04,Kernel_version=4.14.16-041416-generic)中安装 MediaSDK。Lattepanda 拥有 Intel(R) Atom(TM) x5-Z8350。

要安装 MediaSDK,我遵循了本指南

根据参考指南,必须从 GitHub克隆MediaSDK 存储库,但该存储库不包括tools/builder/build_mfx.pl我从另一个存储库中获得的存储库

当我在执行步骤 #10 后运行 vainfo 命令时,它显示 iHD_drv_video.so init 失败:

admin@lattepanda:~/work$ vainfo
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
vaInitialize failed with error code …
Run Code Online (Sandbox Code Playgroud)

intel-media-sdk

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

如何在“vagrant up”命令期间指定提供者?

我有两台机器(linux,Mac),需要使用vagrant来管理虚拟机。VirtualBox 用于Liux,而parallels 用于Mac。所以我在 vagrant 配置文件中配置了这两个提供程序,如下所示:

Vagrant.configure('2') do |config|
    config.ssh.forward_agent = true
    config.ssh.password = 'crunch'

    config.vm.box = 'ubuntu/xenial64'

    config.vm.provider 'virtualbox' do |vb|
        vb.gui = true
        vb.memory = '8192'
        vb.name = 'ubuntu'
    end

    config.vm.provider 'parallels' do |vb|
        vb.gui = true
        vb.memory = '8192'
        vb.name = 'ubuntu'
        config.vm.box = 'parallels/ubuntu-14.04'
    end
Run Code Online (Sandbox Code Playgroud)

在我的 mac 系统上,当我运行以下命令但收到错误时:

$ vagrant up --provider parallels
An active machine was found with a different provider. Vagrant
currently allows each machine to be brought up with only a single
provider at …
Run Code Online (Sandbox Code Playgroud)

vagrant vagrantfile vagrant-plugin

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

检查一个字符是否在字符串中至少出现 N 次。算法中的任何解决方案?

这个问题在获得解决方案方面并不难,但我想知道是否有任何 C++ 函数或算法可以解决它。

我在研究这个问题时想到了这个想法Count character chances in a string in C++

所以想知道除了从头开始编写一个函数来检查字符串中某个字符是否出现特定次数之外,我们是否还有其他选择。例如让我们说:

std::string s = "a_b_c_d_e_f_g_h_i_j_k_l_m";
Run Code Online (Sandbox Code Playgroud)

并且我们想查找 string 中是否至少有 2 个 '_'。如果我们使用std::count它将返回所有“_”的计数。std::count_if也会以类似的方式行事。我可以编写一个代码来循环遍历字符串并在计数达到 2 时立即中断,但我想知道我们是否在 C++ 算法或函数中有一些现有的解决方案。

这里的思考过程是,如果我们得到一个很长的字符串作为输入,并且做某事的标准是基于某个特定字符是否至少出现n次,那么遍历整个字符串是一种浪费。

c++ string algorithm stl

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

Keras中一个模型的两个输入

在Keras中是否可以将图像和值向量作为一个模型的输入?如果是,怎么办?

我要创建的CNN具有图像和输入上的6个值的向量。

输出是3个值的向量。

python image vector keras

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

无法计算Prometheus中两个指标的比率

我正在使用ZFS Exporter从 Linux 服务器收集 Prometheus v.2.19 中的 ZFS 指标。数据是从所有目标收集的,并且值是正确的,但是有一个奇怪的问题:我想计算 ARC 未命中与 ARC 命中的比率百分比,因此我使用以下公式:

100 * rate(zfs_arc_stats{stat='misses'}[5m]) / rate(zfs_arc_stats{stat='hits'}[5m])
Run Code Online (Sandbox Code Playgroud)

但它不产生任何数据。我可以分别从每个速率表达式中获取值,但不能从上面的公式中获取值。如果我使用具有相同标签的公式,即:

100 * rate(zfs_arc_stats{stat='hits'}[5m]) / rate(zfs_arc_stats{stat='hits'}[5m])
Run Code Online (Sandbox Code Playgroud)

它给出的正确结果为 100,因为未命中与未命中或命中与命中的比率始终为 1:1。我尝试了使用其他来源(即 PCP、Collectd)的指标的类似公式,这些公式工作得很好,即。我可以计算具有不同标签的相同指标的比率,因此问题似乎可能特定于 ZFS Exporter 的指标。该导出器的指标非常少,但每个指标都有许多不同的统计数据,由“stat”标签的值标识。rate所有指标都是仪表类型,但我认为这对于PromQL 中的函数来说并不重要。无论如何,就像我之前提到的,比率可以单独计算,只有比率失败。有人请建议如何解决这个问题。

metrics prometheus promql

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

如何使用 C 从 Linux 上的 /proc 文件的内容中提取信息?

我一直在为此工作 5 天,每天超过 7 小时。我不是最好的编码员,所以我需要一些帮助。我需要知道如何在 Linux 上使用 C 程序从 /proc 获取信息。信息必须打印出来,并包括以下内容:

  • 进程的完整命令行。
  • 进程状态。
  • 父进程的PID。
  • 优先事项。
  • 不错的价值。
  • 实时调度优先。
  • 上次执行的 CPU 编号。
  • 在用户模式下计划此进程的时间量。
  • 此进程已在内核模式下调度的时间量。
  • 以字节为单位的虚拟内存大小。
  • 程序总大小(以页为单位)。
  • 驻留集大小 (RSS)(以字节为单位)。
  • 驻留集大小 (RSS):进程在实际内存中的页数(以页为单位)。
  • 页中的文本(代码)大小。
  • 数据 + 堆栈大小(以页为单位)。
  • 页表条目大小(以 KB 为单位)。
  • 以 KB 为单位的数据大小。
  • 以 KB 为单位的堆栈大小。
  • 文本段 KB 的大小。

c linux fedora

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