我有一个Pandas DataFrame:
import pandas as pd
df = pd.DataFrame([[0.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0],
[1.0, 0.0, 1.0, 3.0, 1.0, 1.0, 7.0, 0.0],
[0.0, 0.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0]
]
, columns=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])
A B C D E F G H
0 0.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
1 1.0 0.0 1.0 3.0 1.0 1.0 7.0 0.0
2 0.0 0.0 13.0 14.0 15.0 16.0 17.0 18.0
Run Code Online (Sandbox Code Playgroud)
我想返回每行中第一个非零值的序列(不是列表).这当前有效,但 …
我有一个大的二进制文件,我正在阅读,我想比较当前位置与unsigned long long int.但是,基于C++文档,我不清楚是否:
任何答案或建议将不胜感激.
我有一个类函数(让我们称之为"alpha.py"),它使用多处理(processes = 2)来分叉一个进程,并且是我编写的Python包的一部分.在一个单独的Python脚本中(我们称之为"beta.py"),我从这个类中实例化了一个对象并调用了使用多处理的相应函数.最后,所有这些都包含在一个包装Python脚本(让我们称之为"gamma.py")中,它处理许多不同的类对象和函数.
实质上:
这在Mac或Linux上运行没有问题.但是,它在Windows机器上成为一个问题,错误(和文档)表明我应该在某处写这个:
if __name__ == '__main__':
freeze_support()
Run Code Online (Sandbox Code Playgroud)
这篇文章还提到做同样的事情.
但是,我不确切知道这两行应该驻留在哪里.目前,alpha.py,beta.py或gamma.py都不包含if __name__ == '__main__':节.如果有人能告诉我这两条线应该去哪里以及背后的理由,那将是很棒的.
我可以访问一个产生两个值的生成器:
def get_document_values():
docs = query_database() # returns a cursor to database documents
for doc in docs:
# doc is a dictionary with ,say, {'x': 1, 'y': 99}
yield doc['x'], doc['y']
Run Code Online (Sandbox Code Playgroud)
我有另一个函数,process_x我无法更改,可以将生成器作为输入来处理x所有文档(如果生成元组,那么它只处理元组的第一个元素并忽略其他元素):
X = process_x(get_document_values()) # This processes x but ignores y
Run Code Online (Sandbox Code Playgroud)
但是,我还需要存储y生成器中的所有值.我唯一的解决方案是执行get_document_values两次:
Y = [y for x,y in get_document_values()] #Throw away x
X = process_x(get_document_values()) #Throw away y
Run Code Online (Sandbox Code Playgroud)
这在技术上有效,但是当有许多文档要处理时,新文档可能会插入到数据库中,并且长度X和Y将会不同.需要在X和之间进行一对一的映射,Y并且我只需要调用get_document_values一次而不是两次.
我考虑过这样的事情:
Y …Run Code Online (Sandbox Code Playgroud) 我有一个Excel电子表格,我正在阅读Pandas DataFrame:
df = pd.read_excel("file.xls")
Run Code Online (Sandbox Code Playgroud)
但是,电子表格的其中一列包含具有与之关联的超链接的文本.如何访问Pandas中的底层超链接?
示例HTML
<h2 id="name">
ABC
<span class="numbers">123</span>
<span class="lower">abc</span>
</h2>
Run Code Online (Sandbox Code Playgroud)
我可以用以下内容获得数字:
soup.select('#name > span.numbers')[0].text
Run Code Online (Sandbox Code Playgroud)
如何ABC使用BeautifulSoup和select函数获取文本?
在这种情况下怎么样?
<div id="name">
<div id="numbers">123</div>
ABC
</div>
Run Code Online (Sandbox Code Playgroud) 我有两个具有重叠行的 numpy 数组:
import numpy as np
a = np.array([[1,2], [1,5], [3,4], [3,5], [4,1], [4,6]])
b = np.array([[1,5], [3,4], [4,6]])
Run Code Online (Sandbox Code Playgroud)
你可以假设:
b始终是数组的子集a我想得到一个数组,其中包含所有a不在b.
IE,:
[[1 2]
[3 5]
[4 1]]
Run Code Online (Sandbox Code Playgroud)
考虑到a并且b可能非常非常大,解决这个问题的最有效方法是什么?
我正在使用 Python 3.6 并且我有一个字节图像:
img = b'\xff\xd8\xff\xe0\x00\x10JFIF\x00'
Run Code Online (Sandbox Code Playgroud)
我需要将字节转换为字符串而不进行编码,因此它看起来像:
raw_img = '\xff\xd8\xff\xe0\x00\x10JFIF\x00'
Run Code Online (Sandbox Code Playgroud)
目标是将其合并到 html 图像标签中:
<img src="'data:image/png;base64," + base64.b64encode(raw_img) + "' />"
Run Code Online (Sandbox Code Playgroud) 根据文档,可以指定不同的数组数据类型:
dt = np.dtype('u1') # 8-bit unsigned integer
dt = np.dtype('i4') # 32-bit signed integer
dt = np.dtype('f8') # 64-bit floating-point number
dt = np.dtype('c16') # 128-bit complex floating-point number
dt = np.dtype('a25') # 25-length zero-terminated bytes
dt = np.dtype('U25') # 25-character string
Run Code Online (Sandbox Code Playgroud)
但是,最小的无符号整数 dtype 是 8 位。有没有办法创建一个 2 位无符号整数 dtype?
我有一个简单的类,它利用异步生成器来检索 URL 列表:
import aiohttp
import asyncio
import logging
import sys
LOOP = asyncio.get_event_loop()
N_SEMAPHORE = 3
FORMAT = '[%(asctime)s] - %(message)s'
logging.basicConfig(stream=sys.stdout, level=logging.INFO, format=FORMAT)
logger = logging.getLogger(__name__)
class ASYNC_GENERATOR(object):
def __init__(self, n_semaphore=N_SEMAPHORE, loop=LOOP):
self.loop = loop
self.semaphore = asyncio.Semaphore(n_semaphore)
self.session = aiohttp.ClientSession(loop=self.loop)
async def _get_url(self, url):
"""
Sends an http GET request to an API endpoint
"""
async with self.semaphore:
async with self.session.get(url) as response:
logger.info(f'Request URL: {url} [{response.status}]')
read_response = await response.read()
return {
'read': read_response,
'status': response.status, …Run Code Online (Sandbox Code Playgroud) python ×8
python-3.x ×3
numpy ×2
pandas ×2
python-2.7 ×2
aiohttp ×1
arrays ×1
c++ ×1
excel ×1
generator ×1
html-parsing ×1
numpy-dtype ×1