小编add*_*ted的帖子

pymongo-mongodb + srv“必须安装dnspython”错误

我正在尝试从Atlas连接MongoDB,但遇到了:

dnspython必须安装错误

我的mongo uri(样机):mongodb+srv://abc:123@something.something.com/admin?retryWrites=True

我的pymongo版本3.6.1 我已经安装dnspython并完成import dns

仍然,我得到错误:

必须安装dnspython模块才能使用mongodb + srv:// URI

python database dnspython mongodb pymongo

11
推荐指数
7
解决办法
7078
查看次数

为什么分区 parquet 文件会占用更大的磁盘空间?

我正在学习使用 python 和 pyarrow 的镶木地板文件。Parquet 在压缩和最小化磁盘空间方面非常出色。snappy我的数据集是 190MB csv 文件,当保存为压缩 parquet 文件时,最终会成为单个 3MB 文件。

然而,当我将数据集保存为分区文件时,它们会导致组合大小更大(61MB)。

这是我尝试保存的示例数据集:

listing_id |     date     | gender | price
-------------------------------------------
     a     |  2019-01-01  |   M    |   100
     b     |  2019-01-02  |   M    |   100
     c     |  2019-01-03  |   F    |   200
     d     |  2019-01-04  |   F    |   200

Run Code Online (Sandbox Code Playgroud)

当我按日期(300 多个唯一值)分区时,分区文件的总大小为 61MB。每个文件都有168.2kB大小。当我按性别(2 个唯一值)分区时,分区文件的总大小仅为 3MB。

我想知道镶木地板是否有最小文件大小,这样许多小文件组合起来会消耗更大的磁盘空间?

我的环境:

- OS: Ubuntu 18.04
- Language: Python
- Library: pyarrow, pandas
Run Code Online (Sandbox Code Playgroud)

我的数据集来源:

https://www.kaggle.com/brittabettendorf/berlin-airbnb-data

# I am using calendar_summary.csv …
Run Code Online (Sandbox Code Playgroud)

python parquet pyarrow

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

如何在flask-restful中对Resource类内部的函数进行单元测试?

我对单元测试相当陌生,对 RESTful API 开发也比较陌生。我想知道如何对 Flask Restful 中的 Resource 类内的函数进行单元测试?我可以对端点的响应进行单元测试,但我不知道如何对端点控制器类内的各个函数进行测试。

下面是我的应用程序代码。它有3个文件,包括测试:

  • api.py
  • 控制器_foo.py
  • test_controller_foo.py
# api.py

from flask import Flask
from flask_restful import Api

from .controller_foo import ControllerFoo


def create_app(config=None):
    app = Flask(__name__)
    app.config['ENV'] ='development'
    return app

application = app = create_app()
api = Api(app)

api.add_resource(ControllerFoo, '/ctrl')

if __name__ == "__main__":
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
# controller_foo.py

from flask_restful import Resource
from flask import request

class ControllerFoo(Resource):
    """
    basically flask-restful's Resource method is a wrapper for flask's MethodView
    """
    def post(self):
        request_data = self.handle_request() …
Run Code Online (Sandbox Code Playgroud)

python flask flask-restful

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

Pyspark - 循环遍历 structType 和 ArrayType 在 structfield 中进行类型转换

我对 pyspark 很陌生,这个问题让我感到困惑。基本上我正在寻找一种可扩展的方法来通过 structType 或 ArrayType 循环类型转换。

我的数据架构示例:

root
 |-- _id: string (nullable = true)
 |-- created: timestamp (nullable = true)
 |-- card_rates: struct (nullable = true)
 |    |-- rate_1: integer (nullable = true)
 |    |-- rate_2: integer (nullable = true)
 |    |-- rate_3: integer (nullable = true)
 |    |-- card_fee: integer (nullable = true)
 |    |-- payment_method: string (nullable = true)
 |-- online_rates: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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

rvest-在1个标签中抓取2个类

我是rvest的新手。如何在标记中使用2个类名或仅1个类名提取这些元素?

这是我的代码和问题:

doc <- paste("<html>",
             "<body>",
             "<span class='a1 b1'> text1 </span>",
             "<span class='b1'> text2 </span>",
             "</body>",
             "</html>"
            )
library(rvest)
read_html(doc) %>% html_nodes(".b1")  %>% html_text()
#output: text1, text2
#what i want: text2

#I also want to extract only elements with 2 class names
read_html(doc) %>% html_nodes(".a1 .b1") %>% html_text()
# Output that i want: text1
Run Code Online (Sandbox Code Playgroud)

这是我的机器规格:

作业系统:Windows 10。

RVest版本:0.3.2

R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

html r web-scraping scrape rvest

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

presto - 获取天数间隔(不是日期)

如何获得 prestodb 的天数间隔?我可以转换为毫秒并将这些转换为天数,但我正在寻找是否有更短的方法来做到这一点。

示例:我想查看自插入表中的第一行以来已经过了多少天。

SELECT 
    to_milliseconds(date(current_date) - min(created)) / (1000*60*60*24) as days_since_first_row
FROM
    some_table
Run Code Online (Sandbox Code Playgroud)

我希望看到的:(以下之一)

 SELECT 
        to_days(date(current_date) - min(created)) / (1000*60*60*24) as days_since_first_row
        ,cast(date(current_date) - min(created)) as days) as days_since_first_row2
    FROM
        some_table
Run Code Online (Sandbox Code Playgroud)

sql presto

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

python-使用1行代码删除句子列表中的标点符号

所以我有一个句子列表,我想从每个句子中删除标点符号。我可以这样删除它:

textList = ['This is bad.', 'You, me, him are going']

from string import punctuation

for text in textList:
    for p in punctuation:
        text = text.replace(p,'')
    print(text)
Run Code Online (Sandbox Code Playgroud)

但是我想修改列表内容,然后一行完成。像这样:

# obviously this does not work
textList = [(text.replace(p,'') for p in punctuation) for text in textList]
Run Code Online (Sandbox Code Playgroud)

正确的做法是什么?

python string

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

熊猫分组,然后根据日期范围 +/- x 天进行计数和求和

我想在数据框被分组到某个列之后获得一个列的 +/- 7 天期间的计数和值的总和

示例数据(经过编辑以反映我的真实数据集):

group  |        date          |   amount
-------------------------------------------
A      |  2017-12-26 04:20:20 |    50000.0
A      |  2018-01-17 00:54:15 |    60000.0
A      |  2018-01-27 06:10:12 |   150000.0
A      |  2018-02-01 01:15:06 |   100000.0
A      |  2018-02-11 05:05:34 |   150000.0
A      |  2018-03-01 11:20:04 |   150000.0
A      |  2018-03-16 12:14:01 |   150000.0
A      |  2018-03-23 05:15:07 |   150000.0
A      |  2018-04-02 10:40:35 |   150000.0
Run Code Online (Sandbox Code Playgroud)

group by groupthen sum 基于date-7< date<date+7

我想要的结果:

group  |        date …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

如何导入官方的mongodb驱动程序包

如何在Go中导入官方的mongoDB驱动程序包?

我遵循官方的Go-mongoDB-driver软件包说明(https://www.mongodb.com/blog/post/mongodb-go-driver-tutorial)。我已经使用以下命令安装了mongoDB软件包:

go get github.com/mongodb/mongo-go-driver
Run Code Online (Sandbox Code Playgroud)

但我不能导入包

我在做一个非常简单的代码片段 main.go

package main

import "github.com/mongodb/mongo-go-driver/mongo

func main() {
}
Run Code Online (Sandbox Code Playgroud)

这给了我:

main.go:8:8: code in directory $GOPATH/src/github.com/mongodb/mongo-go-driver/bson expects import "go.mongodb.org/mongo-driver/bson"
Run Code Online (Sandbox Code Playgroud)

当我尝试导入时go.mongodb.org/mongo-driver/bson,它给了我这个:

main.go:10:8: cannot find package "go.mongodb.org/mongo-driver/bson" in any of:
    /usr/local/go/src/go.mongodb.org/mongo-driver/bson (from $GOROOT)
    $GOPATH/src/go.mongodb.org/mongo-driver/bson (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

友善的帮助,在Go中是一个相当新的东西,不知道在哪里寻找,因为我发现很多人没有这个问题。

go mongodb

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