小编lex*_*ual的帖子

Numpy数组维度

我目前正在尝试学习Numpy和Python.给出以下数组:

import numpy as np
a = np.array([[1,2],[1,2]])
Run Code Online (Sandbox Code Playgroud)

是否有一个返回维度的函数a(ega是一个2乘2的数组)?

size() 返回4,这没有多大帮助.

python arrays numpy dimensions

337
推荐指数
6
解决办法
71万
查看次数

计算单词列表中的字母频率,不包括同一单词中的重复项

我想在一个单词列表中找到最常见的字母.我正在努力学习这个算法,因为我只需要在跳过重复项时只计算一个单词中的字母频率,所以我需要帮助找到一种方法来计算整个列表中字母的频率,每个单词只出现一次,忽略了第二次出现.

例如,如果我有:

words = ["tree", "bone", "indigo", "developer"]
Run Code Online (Sandbox Code Playgroud)

频率将是:

letters={a:0, b:1, c:0, d:2, e:3, f:0, g:1, h:0, i:1, j:0, k:0, l:1, m:0, n:2, o:3, p:1, q:0, r:2, s:0, t:1, u:0, v:1, w:0, x:0, y:0, z:0}
Run Code Online (Sandbox Code Playgroud)

从字母词典中可以看出:'e'是3而不是5,因为如果'e'在同一个单词中重复多次,则应忽略它.

这是我提出的算法,它是用Python实现的:

for word in words:
    count=0;

    for letter in word:
        if(letter.isalpha()):
            if((letters[letter.lower()] > 0  && count == 0) ||
               (letters[letter.lower()] == 0 && count == 0)):

                    letters[letter.lower()]+=1
                    count=1

            elif(letters[letter.lower()]==0 && count==1):   
                letters[letter.lower()]+=1
Run Code Online (Sandbox Code Playgroud)

但它仍然需要工作,我无法想到任何其他事情,我会很高兴有人帮我思考一个有效的解决方案.

python algorithm

41
推荐指数
4
解决办法
2136
查看次数

AttributeError: 'str' 对象没有属性 'str'

我的pandas DataFrame样子如下。我正在尝试从我的列中删除'$'和然后应用到我的原始数据框上。所以我创建了下面的函数。但是,它给了我错误说','income"str" object has no attribute "str".

非常感谢有关如何解决此问题的任何建议。

注意:我是 python 新手,所以请提供解释。

我的数据框:

df1=pd.DataFrame(
     {'Name': ['a', 'b','c','d'],
     'income': ['$1', '$2,000','$10,000','$140,000']})
Run Code Online (Sandbox Code Playgroud)

我的功能:

def column_replace(x):
    return x.str.replace('$', '').str.replace(',','').apply(lambda x: column_replace(x))
Run Code Online (Sandbox Code Playgroud)

python string pandas

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

标签 统计

python ×3

algorithm ×1

arrays ×1

dimensions ×1

numpy ×1

pandas ×1

string ×1