小编Shw*_*eta的帖子

python - 如何检查矩阵是否稀疏

我有一个矩阵,我想检查它是否稀疏.

我尝试过的事情:

  1. 实例方法:

    if isinstance(<matrix>, scipy.sparse.csc.csc_matrix):
    
    Run Code Online (Sandbox Code Playgroud)

如果我确切地知道我要检查哪个稀疏类,这可以正常工作.

  1. getformat方法:但它假设我的矩阵是稀疏的并给出格式

但我想要一种方法来了解矩阵是否稀疏,并且无论哪个稀疏类都应该工作.

请帮助我.

python class matrix sparse-matrix

17
推荐指数
1
解决办法
5835
查看次数

在python中将任何特殊字符的多次出现替换为1

我有一个字符串:

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)

但我想替换所有特殊字符,如",./ \等等.一种方法是为每个特殊字符编写它.但是想知道是否有一种简单的方法可以为一行中的所有特殊字符编写它.

python regex replace special-characters

7
推荐指数
2
解决办法
5181
查看次数

在shell中的两个文件的列上的diff

我想做一件非常简单的事情.我有两个文件如下:

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.

linux bash shell diff file

6
推荐指数
2
解决办法
8936
查看次数

在python中读取大csv文件的行

我有一个非常大的 csv 文件,无法完全加载到内存中。所以我想一块一块地读取它,将它转换成 numpy 数组,然后再做一些处理。

我已经检查过: Lazy Method for Reading Big File in Python?

但这里的问题是它是一个普通的阅读器,我无法在 csvReader 中找到任何指定大小的选项。

此外,由于我想将行转换为 numpy 数组,因此我不想将任何行读成两半,所以我想要一些可以在阅读器中指定“行数”的东西,而不是指定大小。

是否有任何内置功能或简单的方法来做到这一点。

python csv file-io generator

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

2d 矩阵的 Numpy 矩阵乘法得到 3d 矩阵

我有两个 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)

有没有更好的方法来完成这项任务。

python numpy matrix-multiplication

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

python中的LFU缓存实现

我已经在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)

python heap caching priority-queue

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

如何计算一维卷积神经网络的参数个数?

我指的是在这个链接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 个参数。

有人可以帮助我了解我的计算错误在哪里吗?

python convolution keras

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