小编blo*_*ley的帖子

如何在 Pandas DataFrame 中按月对行进行分组?

我需要创建一些定时数据的箱线图,其中一个方框代表每个月的原始数据。像这样的东西:

在此处输入图片说明

现在让我们尝试使用 Pandas 创建它:

matplotlib inline
import numpy as np
import pandas as pd

N_DAYS = 100
dates = pd.date_range('20130101', periods=N_DAYS)
df = pd.DataFrame(np.random.randn(N_DAYS,1), index=dates)
Run Code Online (Sandbox Code Playgroud)

我可以按月(代码M)重新采样并应用聚合函数,例如median:

df.resample('M').median()
Run Code Online (Sandbox Code Playgroud)

但是,我无法创建数据的箱线图:

df.resample('M').boxplot();
Run Code Online (Sandbox Code Playgroud)

这将创建一个代表每个月均值分布的框。

在此处输入图片说明

另外,我收到以下警告:

FutureWarning: 
.resample() is now a deferred operation
You called boxplot(...) on this deferred object which materialized it into a dataframe
by implicitly taking the mean.  Use .resample(...).mean() instead
Run Code Online (Sandbox Code Playgroud)

如何为每个月创建原始数据的箱线图?

python boxplot dataframe pandas

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

如何在 MultiIndex pandas DataFrame 中设置索引值?

我有一个 MultiIndex pandas DataFrame,需要更改 0 级索引值。当前的 DataFrame 有一个名为 的 MultiIndex (test, time)。

如何将字符串“Test 4”(位于索引的顶层)设置为其他字符串?

test为了额外加分,我的许多 DataFrame 在索引级别中将具有多个值。我可以使用名称列表一次重命名多个名称吗?

感谢您的任何帮助。

在此输入图像描述

(编辑:)我的数据是:

test      time     force  displacement  minutes  event
'Test 4'  0.0000   .1202   0            0.00000  False
'Test 4'  0.0012   .0901   0            0.00002  False
'Test 4'  0.0018   .0901   0            0.00003  False
'Test 4'  0.0030   .0901   0            0.00004  False
'Test 4'  0.0042   .0901   0            0.00005  False
'Test 5'  0.0000   .1203   0            0.00000  False
'Test 5'  0.0012   .0901   0            0.00002  False
Run Code Online (Sandbox Code Playgroud)

多索引设置为['test', …

python pandas

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

mypy:如何定义通用子类

我有一个queue.Queue像这样的子类:

class SetQueue(queue.Queue):
    """Queue which will allow a given object to be put once only.

    Objects are considered identical if hash(object) are identical.
    """

    def __init__(self, maxsize=0):
        """Initialise queue with maximum number of items.

        0 for infinite queue
        """
        super().__init__(maxsize)
        self.all_items = set()

    def _put(self):
        if item not in self.all_items:
            super()._put(item)
            self.all_items.add(item)
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用mypy进行静态类型检查。在这种情况下,SetQueue应该采用通用对象T。这是我到目前为止的尝试:

from typing import Generic, Iterable, Set, TypeVar

# Type for mypy generics
T = TypeVar('T')

class SetQueue(queue.Queue):
    """Queue which will allow a given …
Run Code Online (Sandbox Code Playgroud)

python types mypy

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

400客户端错误:错误的URL请求:https://api.dropboxapi.com/2/files/list_folder

我正在尝试在我们的Dropbox Business帐户中列出团队成员的文件夹。

https://api.dropboxapi.com/2/files/list_folder要求我们添加Dropbox-API-Select-User标题,但它似乎不起作用。

到目前为止,这是我的代码:

import requests

url = "https://api.dropboxapi.com/2/files/list_folder"

headers = {
    "Authorization": "Bearer MY_TOKEN",
    "Dropbox-API-Select-User": "dbid:ACCOUNT_ID"
    }

data = {
    "path": "/",
}

r = requests.post(url, headers=headers, json=data)
r.raise_for_status()
print(r.json())
Run Code Online (Sandbox Code Playgroud)

请注意,json=函数中的post()参数将内容类型设置为,application/json因此应该正确。

上面的代码引发了一个异常:

requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.dropboxapi.com/2/files/list_folder
Run Code Online (Sandbox Code Playgroud)

我尝试使用团队成员ID(bdmid:)而不是帐户ID,但遇到相同的错误。

你知道怎么了吗

在此先感谢您的帮助。

我正在使用Python 3.6,如果有什么区别。

python json dropbox dropbox-api python-requests

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

用于平均函数的Rust泛型语法

我正在尝试编写一个函数,它接受一些数字并计算平均值.

我尝试使用实现泛型函数的想法来获得泛型类型,但是会出错.

我的代码是:

extern crate num;

use num::{FromPrimitive, Zero};
use std::ops::{Add, Div};

fn main() {
    let mut numbers = [10, -21, 15, 20, 18, 14, 18];
    let err = "Slice is empty.";

    println!("Mean is {:.3}", mean(&numbers).expect(err));
}

fn mean<T>(numbers: &[T]) -> Option<f64>
where
    T: Copy + Zero + Add<T, Output = T> + Div<T, Output = T> + FromPrimitive,
{
    match numbers.len() {
        0 => None,
        _ => {
            let sum = numbers.iter().sum: ();
            let length …
Run Code Online (Sandbox Code Playgroud)

generics math syntax rust

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

为什么json.decoder.JSONDecodeError?

我正在尝试使用logging.config.dictConfig()配置我的Python日志记录模块

但是,我的JSON文件似乎已损坏,即使它作为Python dict false更改为False,所以我不认为这是一个语法错误.

我的代码说:

import json

with open('logging_config.json') as f:
    d = json.load(f)
Run Code Online (Sandbox Code Playgroud)

我的logging_config.json档案是:

{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "standard": {
      "format": "[%(levelname)s] %(name)s: %(message)s"
    },
  },
  "handlers": {
    "default": {
      "level": "DEBUG",
      "formatter": "standard",
      "class": "logging.StreamHandler",
    },
  },
  "loggers": {
    "": {
      "handlers": ["default"],
      "level": "INFO",
      "propagate": true
    },
    "myfunc": {
      "handlers": ["default"],
      "level": "DEBUG",
      "propagate": false
    },
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个简单的程序时,我收到一个错误: json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: …

python logging json

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