让我们考虑以下数据框:
import pandas as pd
d = {'col1': [1, 2, 3], 'col2': [3, 4, 5]}
df=pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
如果我想访问 pandas 系列中的第一个元素df['col1'],我可以简单地去df['col1'][0]。
但是我怎样才能访问这个系列的最后一个元素呢?我试过df['col1'][-1]它返回以下错误:
密钥错误:-1L
我知道我可以做类似的事情,df['col1'][len(df)-1]但为什么反向索引在这里是不可能的?
注意:我正在从 Data Science Stack Exchange 迁移这个问题,在那里它几乎没有受到关注。
我正在尝试实施 OCR 解决方案来识别从屏幕图片中读取的数字。
我正在根据我的问题调整这个 pyimagesearch 教程。
因为我正在处理深色背景,所以我首先反转图像,然后将其转换为灰度并对其进行阈值处理:
inverted_cropped_image = cv2.bitwise_not(cropped_image)
gray = get_grayscale(inverted_cropped_image)
thresholded_image = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)[1]
Run Code Online (Sandbox Code Playgroud)
然后我调用 pytesseract 的image_to_data函数来输出包含不同文本区域及其置信区间的字典:
from pytesseract import Output
results = pytesseract.image_to_data(thresholded_image, output_type=Output.DICT)
Run Code Online (Sandbox Code Playgroud)
results最后,当它们的置信度超过用户定义的阈值 (70%) 时,我会迭代并绘制它们。让我困扰的是,我的脚本识别了图像中的所有内容,除了我想识别的数字(1227.938)。
我的第一个猜测是image_to_data参数设置不正确。
检查此网站,我选择了 11 的页面分割模式 ( psm)(稀疏文本)并尝试仅将数字列入白名单 ( tessedit_char_whitelist=0123456789m.'):
results = pytesseract.image_to_data(thresholded_image, config='--psm 11 --oem 3 -c tessedit_char_whitelist=0123456789m.', output_type=Output.DICT)
Run Code Online (Sandbox Code Playgroud)
唉,这更糟糕,脚本现在根本无法识别任何内容!
您有什么建议吗?我在这里遗漏了一些明显的东西吗?
编辑#1:
应 Ann Zen 的要求,以下是用于获取第一张图像的代码:
import …Run Code Online (Sandbox Code Playgroud) 我正在使用 pandasto_latex函数将 pandas 数据框导出到可以粘贴到 LaTeX 文件中的文本。
这是一个数据框示例:
import pandas as pd
d = {'Country': ['Burma', 'Burundi'], 'Capital': ['Naypyidaw','Gitega']}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
我使用to_latexwithindex=False是为了不导出行名称:
df.to_latex(index=False)
Run Code Online (Sandbox Code Playgroud)
这会产生以下文本块:
\\begin{tabular}{ll}\n\\toprule\n
Capital & Country \\\\\n\\midrule\n
Naypyidaw & Burma \\\\\n
Gitega & Burundi \\\\\n
\\bottomrule\n
\\end{tabular}\n
Run Code Online (Sandbox Code Playgroud)
是否有一个参数可以调整以消除这些反斜杠和额外的参数\n?
这是我想要的输出:
\begin{tabular}{ll}
Capital & Country \\
Naypyidaw & Burma \\
Gitega & Burundi
\end{tabular}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我正在阅读Kaggle 上发布的这个Heroes Recognition ResNet34 notebook。
作者使用fastai的learn.lr_find()方法求最优学习率。
根据学习率绘制损失函数会产生下图:
似乎损失达到了 1e-1 的最小值,但在下一步中,作者将 1e-2 作为 max_lr 传入fit_one_cycle以训练他的模型:
learn.fit_one_cycle(6,1e-2)
为什么在这个例子中使用 1e-2 而不是 1e-1?这不会只会使训练变慢吗?
我正在尝试使用 openCV2 从静态地图自动描绘教堂和大教堂的轮廓。
简而言之,我是:
findContours方法来描绘建筑物的轮廓。我最初假设大教堂将是几百米内最大的建筑,因此我按照PyImageSearch 教程按面积对轮廓进行排序:
contours = sorted(contours, key = cv2.contourArea, reverse = True)[0:1]
Run Code Online (Sandbox Code Playgroud)
在某些情况下,这就像一种魅力,比如圣彼得大教堂:
然而,根据城市和所选的缩放级别,我经常碰巧选择附近实际上比教堂大的建筑物:
我正在考虑选择最接近图像中心的轮廓。
一种选择是计算地图中所有轮廓的中心,然后确定距图像城市中心最近的点,但我想知道是否有更简单的解决方案。任何帮助将不胜感激!
我想使用Python 3.5打开以二进制文件形式编写的时间序列数据。
这是我到目前为止编写的脚本:
filename = 'dummy.ats'
file = open(filename, 'rb')
Run Code Online (Sandbox Code Playgroud)
二进制文件以我想跳过的1024字节的头文件开头。如何修改脚本来执行此操作?