为了计算limsup序列,让我们计算,每个i的max(A[i:]):
import numpy as np
n = 10
A = np.random.random(n)
M = np.zeros(n)
for i in range(n):
M[i] = np.max(A[i:])
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
[ 0.85436167 0.92015564 0.44302976 0.56030154 0.16415721 0.39810583 0.65692947 0.5884984 0.57646131 0.0774121 ]
[ 0.92015564 0.92015564 0.65692947 0.65692947 0.65692947 0.65692947 0.65692947 0.5884984 0.57646131 0.0774121 ]
Run Code Online (Sandbox Code Playgroud)
当n100万时,这非常非常慢.
可以使用什么优化来有效地计算阵列M?
我的DataFrame有两列:
Name Status
a I am Good
b Goodness!!!
c Good is what i feel
d Not Good-at-all
Run Code Online (Sandbox Code Playgroud)
我想过滤其中Status有一个字符串'Good'作为其确切单词的行,而不是与任何其他单词或字符组合.
所以输出将是:
Name Status
a i am Good
c Good is what i feel
Run Code Online (Sandbox Code Playgroud)
另外两行中有一个'Good'字符串,但与其他字符混合在一起,因此不应该被拾取.
我试过做:
d = df[df['Status'].str.contains('Good')] # But all rows come up
Run Code Online (Sandbox Code Playgroud)
我相信一些正则表达式(r'\bGood\b', Status)会这样做,但这不能一起总结.在DataFrame过滤条件中我如何/在何处完全符合正则表达式来实现这一目标?如何实现startswith或endswith'好'(精确的单词搜索)?
我使用此代码片段获取 Whois 信息:
org.apache.commons.net.whois.WhoisClient whois = new org.apache.commons.net.whois.WhoisClient();
whois.connect("whois.verisign-grs.com", 43);
String domainWhois = whois.query(domainName);
whois.disconnect();
Run Code Online (Sandbox Code Playgroud)
我获得了创建、到期日期、注册商和名称服务器,但没有与管理或技术联系人相关的数据。有什么办法可以得到它们吗?
假设我有一个4x4矩阵,如下所示:
[[0, 0, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
我想写一个函数,它接受一个的所有4个周围的字段,并将它们变成1.
上述矩阵将变为:
[[0, 0, 1, 0]
[0, 1, 1, 1]
[0, 0, 1, 0]
[0, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
我知道这可以使用if语句,但我真的想优化我的代码.
矩阵只包含0和1.如果1位于矩阵的边缘,则1不应该环绕,即如果最左边的字段是1,则最右边的字段仍然保持为0.此外,我使用的是Python 3.5
有没有更多数学或简洁的方法来做到这一点?
python中是否有任何方法可以跨行或列计算2D数组的元素OR或AND运算?
例如,对于以下数组,跨行的元素OR运算将产生向量[1, 0, 0, 0, 0, 0, 0, 0].
array([[1, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
Run Code Online (Sandbox Code Playgroud) 比方说我有:
numpy.random.seed(20)
a=numpy.random.rand(5000)
b=numpy.random.rand(5000)
Run Code Online (Sandbox Code Playgroud)
我想获得一个位置的索引a[x] > b[x],即所有x的索引
此外,我想得到一个指数(a[x-1] < b[x-1]) && (a[x] > b[x]).
有人可以帮忙吗?我有一种感觉,我必须使用蒙面数组,但我不知道如何.
给定以下字典,如何返回从键中去除所有非数字的新键?
import re
dict {'abc_12': 5, 'abc_1': 7, 'abc_34': 10}
for k in dict:
re.sub('[^0-9]', '', k)
# change value of first key to '12': 5
Run Code Online (Sandbox Code Playgroud) 我试图解决无限猴子定理,这是我在网上遇到的编程任务的一部分.
问题陈述是:
该定理指出,猴子在打字机键盘上随机敲击键无限时间几乎肯定会输入一个给定的文本,例如威廉·莎士比亚的全集.好吧,假设我们用Python函数替换猴子.你认为Python函数生成莎士比亚的一个句子需要多长时间?我们要拍的句子是:"它就像狡猾的人一样"
我试图看a)是否有可能生成字符串b)生成字符串后迭代次数
我已经将递归限制设置为10000,查看之前的SO问题,但我仍然得到达到最大递归深度的运行时错误.
我仍然在寻找python的方法.我希望看到有关如何以更好的方式做到这一点的建议,而不会遇到递归深度问题.
到目前为止,这是我的代码:
import random
import sys
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ']
quote="methinks it is like a weasel"
msg='cont'
count=0
sys.setrecursionlimit(10000)
def generate(msg):
sentence=''
while len(sentence)!=27:
#random.choice() prints a random element from list 'alphabet'
sentence=sentence+random.choice(alphabet)
if msg=='cont':
verify(sentence)
def verify(msg2):
global count
if msg2.find(quote)==-1:
count+=1
generate('cont')
else:
print 'sentence is ',msg2 ,'count is',count
if __name__ == '__main__':
generate(msg)
Run Code Online (Sandbox Code Playgroud) 鉴于此DataFrame:
df = pandas.DataFrame({"a": [1,10,20,3,10], "b": [50,60,55,0,0], "c": [1,30,1,0,0]})
Run Code Online (Sandbox Code Playgroud)
是什么力量让一个新的列,"过滤器"具有价值的最佳途径"合格",如果在列中的值a和b均小于X和值"不及格",否则?
它可以通过遍历行来完成,但它效率低且不够优雅:
c = []
for x, v in df.iterrows():
if v["a"] >= 20 and v["b"] >= 20:
c.append("pass")
else:
c.append("fail")
df["filter"] = c
Run Code Online (Sandbox Code Playgroud) 我正在查询数据库并获取此文本:
"('username', '192.168.1.1', datetime.datetime(2013, 1, 3, 7, 18))"
Run Code Online (Sandbox Code Playgroud)
我想分成这样的列表:
['username', '192.168.1.1', datatime.datetime(2013, 1, 3, 7, 18)]
Run Code Online (Sandbox Code Playgroud)
那么,哪种方式最好的方式呢?我正在使用Python 2.4.
python ×9
numpy ×4
arrays ×3
dataframe ×2
pandas ×2
regex ×2
string ×2
compare ×1
datetime ×1
dictionary ×1
dns ×1
domain-name ×1
java ×1
list ×1
matrix ×1
performance ×1
python-2.4 ×1
python-3.x ×1
recursion ×1
whois ×1