我有一个矩阵,我想检查它是否稀疏.
我尝试过的事情:
实例方法:
if isinstance(<matrix>, scipy.sparse.csc.csc_matrix):
Run Code Online (Sandbox Code Playgroud)如果我确切地知道我要检查哪个稀疏类,这可以正常工作.
但我想要一种方法来了解矩阵是否稀疏,并且无论哪个稀疏类都应该工作.
请帮助我.
我有一个字符串:
string = "happy.....!!!"
Run Code Online (Sandbox Code Playgroud)
我希望输出像:
new_string = "happy.!"
Run Code Online (Sandbox Code Playgroud)
我知道如何替换任何特殊字符的多次出现.它可以如下完成:
line = re.sub('\.+', '.', line)
Run Code Online (Sandbox Code Playgroud)
但我想替换所有特殊字符,如",./ \等等.一种方法是为每个特殊字符编写它.但是想知道是否有一种简单的方法可以为一行中的所有特殊字符编写它.
我想做一件非常简单的事情.我有两个文件如下:
FILE 1:
A s1 p1
B s2 p2
C s3 p3
FILE2:
B s4 p4
A s1 p1
C s6 p6
Run Code Online (Sandbox Code Playgroud)
我想从该文件的文件和打印差异中提取第一列和第三列.一种简单的方法是使用cut -f1,3创建两个文件的中间文件并执行diff.多数民众赞成我想要的输出是什么.但我不想创建中间文件.任何简单的衬垫都可以做到这一点.
还有一件事,两个文件都没有排序,因此无法直接使用join.
我有一个非常大的 csv 文件,无法完全加载到内存中。所以我想一块一块地读取它,将它转换成 numpy 数组,然后再做一些处理。
我已经检查过: Lazy Method for Reading Big File in Python?
但这里的问题是它是一个普通的阅读器,我无法在 csvReader 中找到任何指定大小的选项。
此外,由于我想将行转换为 numpy 数组,因此我不想将任何行读成两半,所以我想要一些可以在阅读器中指定“行数”的东西,而不是指定大小。
是否有任何内置功能或简单的方法来做到这一点。
我有两个 numpy 数组,比如
A: = array([[0, 1],
[2, 3],
[4, 5]])
B = array([[ 6, 7],
[ 8, 9],
[10, 11]])
Run Code Online (Sandbox Code Playgroud)
对于 A 和 B 的每一行,分别表示 Ra 和 Rb,我想计算转置(Ra)*Rb。因此,对于给定的 A 和 B 值,我想要以下答案:
array([[[ 0, 0],
[ 6, 7]],
[[ 16, 18],
[ 24, 27]],
[[ 40, 44],
[ 50, 55]]])
Run Code Online (Sandbox Code Playgroud)
我编写了以下代码来执行此操作:
x = np.outer(np.transpose(A[0]), B[0])
for i in range(1,len(A)):
x = np.append(x,np.outer(np.transpose(A[i]), B[i]),axis=0)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来完成这项任务。
我已经在https://docs.python.org/2/library/heapq.html#priority-queue-implementation-notes中给出的Priority Queue Implementation的帮助下在python中实现了LFU缓存
我在帖子末尾给出了代码。
但是我觉得代码有一些严重的问题:
1.给一个场景,假设只有一个页面被连续访问(比如说50次)。但是此代码将始终将已添加的节点标记为“已删除”,并将其再次添加到堆中。因此,基本上,同一页面将有50个不同的节点。因此,极大地增加了堆大小。
2.这个问题几乎与http://www.geeksforgeeks.org/flipkart-interview-set-2-sde-2/的电话采访Q1相似,
并且该人提到双向链接列表与堆。谁能解释我,如何?
from llist import dllist
import sys
from heapq import heappush, heappop
class LFUCache:
heap = []
cache_map = {}
REMOVED = "<removed-task>"
def __init__(self, cache_size):
self.cache_size = cache_size
def get_page_content(self, page_no):
if self.cache_map.has_key(page_no):
self.update_frequency_of_page_in_cache(page_no)
else:
self.add_page_in_cache(page_no)
return self.cache_map[page_no][2]
def add_page_in_cache(self, page_no):
if (len(self.cache_map) == self.cache_size):
self.delete_page_from_cache()
heap_node = [1, page_no, "content of page " + str(page_no)]
heappush(self.heap, heap_node)
self.cache_map[page_no] = heap_node
def delete_page_from_cache(self):
while self.heap:
count, page_no, page_content …
Run Code Online (Sandbox Code Playgroud) 我指的是在这个链接https://richliao.github.io/supervised/classification/2016/11/26/textclassifier-convolutional上“使用 CNN 进行文本分类”的实现。在“简化的卷积”一节中,他们使用了以下 keras 层:
Conv1D(128, 5, activation='relu')
根据我的理解,没有参数应该是 5*100*128=64,000。但是模型摘要显示了 64,128 个参数。
有人可以帮助我了解我的计算错误在哪里吗?