小编Hat*_*sut的帖子

指定 lapply 中 X 提供哪个参数

我有一个函数,例如fun(a, b = 1, c = 3, ...),它需要多个参数,其中一些具有默认值。我想使用 调用此函数lapply(X, FUN, ...),但明确指定我要提供的参数X。在上面的示例中,向量可以在 中为or or , orX提供。abcxyz...

通常我可能会打电话lapply(1:5, fun, a = 4),我想它会用作1:5论据b

  • 有没有办法让它更明确?
  • 如果我想使用默认参数 forb和 use 1:5for该怎么办c
  • 如果我想在 中用作参数1:5怎么办?xyz...

r lapply

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

pip install --editable with a VCS url

man pip它下面说--editable <path/url>

从本地项目路径或 VCS url 以可编辑模式(即 setuptools“开发模式”)安装项目

这意味着什么?我可以在 Github 上给它一个 repo 分支,它会去获取并安装它并随着分支的变化保持更新吗?

python git pip package

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

两个pip3包的区别:pytesseract vs tesseract

这两个包有什么区别?

pip3 install pytesseract

pip3 install tesseract

python tesseract pip python-3.x python-tesseract

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

为什么我们需要str类型?为什么不只是字节串?

Python3有unicode字符串(str)和bytes.我们已经有了bytestring文字和方法.为什么我们需要两种不同的类型,而不仅仅是各种编码的字节串?

python unicode python-3.x

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

在照片上强力裁剪旋转的边界框

我正在尝试稳健地提取轮廓的旋转边界框。我想拍摄一张图像,找到最大的轮廓,得到它的旋转边界框,旋转图像使边界框垂直,然后裁剪到大小。

为了演示,这是在以下代码中链接的原始图像。我想最终将那只鞋旋转到垂直并裁剪成尺寸。此答案中的以下代码似乎适用于 opencv 线条等简单图像,但不适用于照片。

在此处输入图片说明

最终结果是旋转和裁剪错误:

在此处输入图片说明

编辑:将阈值类型更改为 后cv2.THRESH_BINARY_INV,它现在正确旋转但裁剪错误:

在此处输入图片说明

import cv2
import matplotlib.pyplot as plt
import numpy as np
import urllib.request
plot = lambda x: plt.imshow(x, cmap='gray').figure


url = 'https://i.imgur.com/4E8ILuI.jpg'
img_path = 'shoe.jpg'

urllib.request.urlretrieve(url, img_path)
img = cv2.imread(img_path, 0)
plot(img)


threshold_value, thresholded_img = cv2.threshold(
    img, 250, 255, cv2.THRESH_BINARY)
_, contours, _ = cv2.findContours(thresholded_img, 1, 1)
contours.sort(key=cv2.contourArea, reverse=True)

shoe_contour = contours[0][:, 0, :]
min_area_rect = cv2.minAreaRect(shoe_contour)

def crop_minAreaRect(img, rect):

    # rotate img
    angle = rect[2]
    rows, cols = …
Run Code Online (Sandbox Code Playgroud)

python opencv image cv2

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

__repr__应该返回字节还是unicode?

在Python 3和Python 2中,__repr__应该返回字节还是unicode?参考和报价是理想的.

这里有一些关于2-3兼容性的信息,但我没有看到答案.

python unicode repr python-2.7 python-3.x

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

在方法链中用 nan 替换数据框列的负值

我想,以取代np.nan所有的负面是在列号 'b'

  • 使用 df 上的方法
  • 不到位。

这是示例框架:

pd.DataFrame({'a': [1, 2] , 'b': [-3, 4], 'c': [5, -6]})
Run Code Online (Sandbox Code Playgroud)

有关就地和非方法解决方案,请参阅此问题

python pandas

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

熊猫中的 if-else 条件赋值

我想根据现有列的值为列分配值。这段代码有效,但我想就地进行,也许使用assignapply

如果这可以在一个步骤中完成,它也将避免从int到的隐式转换float,下面发生。

我已经包含了我使用 的尝试assign,这会引发ValueError.

import pandas as pd

original = pd.DataFrame({'col': ['a', 'b', 'c']})

d = original.copy()
d.loc[d.col.isin(['b', 'x']), 'new'] = 1
d.loc[~d.col.isin(['b', 'x']), 'new'] = 99
d

# :   col   new
# : 0   a  99.0
# : 1   b   1.0
# : 2   c  99.0

# original.assign(new=lambda x: (1 if x.col.isin(['b', 'x']) else 99)) # ValueError
Run Code Online (Sandbox Code Playgroud)

python ternary-operator pandas

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

使用 dict 在数据框中查找行

df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]}) 
Run Code Online (Sandbox Code Playgroud)

产生

   a  b
0  1  4
1  2  5
2  3  6
Run Code Online (Sandbox Code Playgroud)

给定一个 dict

d = {'a': 2, 'b': 5}
Run Code Online (Sandbox Code Playgroud)

我将如何提取数据框的行,其中 dict 的键值与所有列值匹配 - 所以在这种情况下

   a  b
1  2  5
Run Code Online (Sandbox Code Playgroud)

pandas

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

通过向量索引矩阵

m = matrix(1:10, nrow = 5, ncol = 2)
y = c(1,2,2,1,1)
Run Code Online (Sandbox Code Playgroud)

我想一个向量v,其i个元素m[i,y[i]].

我以为m[,y]会这样做,但那显然是错的.

r

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