小编MSD*_*MSD的帖子

传递 pd.qcut 重复项='drop' kwarg 后,“bin 标签必须比 bin 边缘数少 1”

我有数df十万行,并且正在创建一个新的数据框,其中仅包含某些值组的行的顶部分位数:

quantiles = (df.groupby(['Person', 'Date'])['Value'].apply(lambda x: pd.qcut(x, 4, labels=[0, 0.25, 0.5, 1], duplicates='drop')))
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

ValueError: Bin labels must be one fewer than the number of bin edges
Run Code Online (Sandbox Code Playgroud)

尝试更改binsto的数量后5,我仍然收到相同的错误。

我怎样才能解决这个问题?

python pandas

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

如何在数据框中进行字符串替换

我有一个df看起来像这样的数据框:

      Company Name     ID
0        Finl Corp    111
1          Fund Tr    222
2          Invt Fd    333           
3          Govt Fd    444
4      Trinity Inc    555
Run Code Online (Sandbox Code Playgroud)

我正在替换通常缩写的字符串:

df['Company Name'] = df['Company Name'].str.replace('Finl', 'Financial')
df['Company Name'] = df['Company Name'].str.replace('Tr', 'Trust')
df['Company Name'] = df['Company Name'].str.replace('Invt', 'Investment')
df['Company Name'] = df['Company Name'].str.replace('Fd', 'Fund')
df['Company Name'] = df['Company Name'].str.replace('Govt', 'Government')
Run Code Online (Sandbox Code Playgroud)

但我怎么更换TrTrust Tr是一个字符串的最后两个字符,如行1(但不排4)?

我可以做类似的事情吗?

df['Company Name'] = df['Company Name'].str.endswith(' Tr').replace(' Tr', ' Trust') 所以输出是: …

python parsing replace dataframe pandas

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

将 Go 项目部署到 AWS Lambda 时出现“PathError”

在部署这个基于 Go 的 AWS Lambda 项目时,通过 AWS 控制台,我收到:

{
  "errorMessage": "fork/exec /var/task/main: exec format error",
  "errorType": "PathError"
}
Run Code Online (Sandbox Code Playgroud)

以下是我采取的步骤:

  • marriage-master从 Git下载项目
  • 在终端中,go get "github.com/aws/aws-lambda-go/lambda" 所以脚本可以由 Go 构建
  • 在终端中,go build main.go创建 Lambda 将用于执行的文件
  • 在终端中,zip main.zip main将文件存档为.zip 以部署到 Lambda
  • 在 AWS 控制台中,上传main.zipFunction code

在此处输入图片说明

  • 在 AWS 控制台中,更改Handlermain.

在此处输入图片说明

但我不断收到此路径错误。知道我做错了什么吗?

go amazon-web-services aws-lambda

0
推荐指数
2
解决办法
695
查看次数

如何解决:“re.error:在位置 23457 没有可重复的内容”?

我试图通过首先使用此正则表达式在文档中搜索所有看起来像字符串的内容,然后将其与已知字符串的现有列表进行比较,从而在 PDF 文件目录中查找特定字符串:

regex = "\\b(?:" + "|".join(symbols) + ")\\b"

如果我正在扫描程序本身中的示例文本,则该代码有效。但是当我循环浏览 PDF 时,我得到re.error: nothing to repeat at position 23457. 所以似乎其中一个字符没有被正确转义,但我无法弄清楚是哪个。

这是我的代码:

import PyPDF2
import os
import re

symbols = ['CA', 'VVI', 'MAVP', 'EB', 'GM', 'FCA', 'LMB', 'BHF', 'PELP', 'QQCM', 'BACC', 'A', 'XXCX']

source_dir = '/Users/test/Desktop/PDFs'
for dir, subdir, files in os.walk(source_dir):
    for file in files:
        if file.endswith('.pdf'):
            file = os.path.join(dir, file)
            pdfFileObj = open(file, 'rb')
            pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
            num_pages = pdfReader.numPages

            count = 0
            text = …
Run Code Online (Sandbox Code Playgroud)

python regex

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