必须删除 pdb 文件中的杂原子。这是代码,但它不适用于我的测试 PDB 1C4R。
for model in structure:
for chain in model:
for reisdue in chain:
id = residue.id
if id[0] != ' ':
chain.detach_child(id)
if len(chain) == 0:
model.detach_child(chain.id)
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
我期望reduce(add,lst)并且sum(lst)应该给我相同的结果,但是
In [18]: class p():
def __init__(self, x, y):
self.x=x ; self.y=y
def __repr__(self):
return "(%r,%r)"%(self.x,self.y)
def __add__(self, P):
return p(self.x+P.x, self.y+P.y)
....:
In [19]: pts=[p(1,0), p(2,1), p(-3,4)]
In [20]: from operator import add
In [21]: print reduce(add,pts)
(0,5)
In [22]: print sum(pts)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-22-98a81789d257> in <module>()
----> 1 print sum(pts)
TypeError: unsupported operand type(s) for +: 'int' and 'instance'
In [23]:
Run Code Online (Sandbox Code Playgroud)
当然我不理解某些东西,可能是显而易见的; 有人可以开导我吗?
我有两个数组,,t是自变量,并作为 的函数进行计算。xtxt
我可以轻松绘制它们,例如,
from pylab import *
t = linspace(o, 2*pi, 201)
x = sin(t)
plot(t, x)
Run Code Online (Sandbox Code Playgroud)
但我想要的是不同的,因为在我的领域,当abs(x)>0.9故障概率从 0.000001% 增加到 99.999999% 时,我想用鲜红色绘制系统可能发生故障的曲线部分。
我可以想象两种可能的解决方案。
但我不知道是否有不同的、更好的可能性,但我不知道如何实施解决方案......
到目前为止我所知道的用途是向量:
(get [1 2 3 4] 2) ; => 3
Run Code Online (Sandbox Code Playgroud)
并在地图上:
(get {:a "a" :b "B" :c "c"} :c) ; => "c"
Run Code Online (Sandbox Code Playgroud)
从文档中可以看出:
clojure.core/get([map key] [map key not-found])
如果key不存在,则返回映射到key,not-found或nil的值.
我需要使用单位球体上的坐标 ( x, y, z )来计算两点之间的距离。
两个半正弦波和大弧线距离使用?和?(经度和纬度)。我如何为x, y, z编写这些公式?
我得到了一个带有文本的 .txt 文件。我已经清理了文本(删除了标点符号、大写字母、符号),现在我有了一个包含单词的字符串。我现在试图获取len()字符串上每个项目的字符数。然后绘制一个图,其中 N 个字符在 X 轴上,Y 轴是具有这样 Nlen()个字符的单词数
到目前为止,我有:
text = "sample.txt"
def count_chars(txt):
result = 0
for char in txt:
result += 1 # same as result = result + 1
return result
print(count_chars(text))
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是在查找len()文本的总数而不是按单词查找。
我想得到类似函数 Counter 的东西,Counter()它返回单词以及它在整个文本中重复的次数。
from collections import Counter
word_count=Counter(text)
Run Code Online (Sandbox Code Playgroud)
我想获得每个单词的字符数。一旦我们有了这样的计数,绘图应该会更容易。
谢谢和任何帮助!
例如考虑文件a.csv
1 23 'better' 0
2 21 'bad' 0
3 34 'good' 0
Run Code Online (Sandbox Code Playgroud)
和b.csv
23 2
34 5
Run Code Online (Sandbox Code Playgroud)
我们可以得到结果:
1 23 'better' 2
2 21 'bad' 0
3 34 'good' 5
Run Code Online (Sandbox Code Playgroud) 我有两个numpy人的ndarray
a.shape # -> (3, 3)
b.shape # -> (5,)
Run Code Online (Sandbox Code Playgroud)
我想要计算一个c由...定义的数组
c.shape # -> (3, 3, 5)
c[...,i] = a*b[i]
Run Code Online (Sandbox Code Playgroud)
(确切的形状c并不重要,因为我总能调换它的轴).
在我看来,到目前为止发布我的编码尝试会不必要地令人尴尬,它就像许多变种一样,a[:,None,:]*b[None,:]而且足够说,不是吗?
我怀疑这np.einsum()可能是答案,但其下标命令的语法超出了我的脑海......
我想In [35]:从生成的LaTeX中删除典型的IPython提示jupyter-nbconvert --to latex.
一旦有了模板,style_simple.tplx那几乎就是我想要的,但现在它已经被移除了,otoh它的配套模板,style_bw_ipython.tplx等等.仍然分发但不再使用新的nbconvert工作.
我知道我必须在模板语言中编写一个临时模板jinja2,但是jinja2模板语法及其使用nbconvert都没有理解我的理解,尽管我做了很多尝试.
鉴于我无法编写这样的模板,我正在寻求这项任务的帮助.
我有以下数据geo.dat
id lon lat inhab name\n 1 9. 45. 100 Ciri\xc3\xa8\n 2 10. 45. 60 Acquanegra\nRun Code Online (Sandbox Code Playgroud)\n\n我得到它ndarray
import numpy as np\ndata = np.genfromtxt('geo.dat', dtype=None, names=True)\nRun Code Online (Sandbox Code Playgroud)\n\n到目前为止,一切顺利,我有一个可以通过列名寻址的数据结构
\n\nprint(data['name'][1]) #>>> Acquanegra\nRun Code Online (Sandbox Code Playgroud)\n\n下一步,问题 \xe2\x80\x94 我有一个函数,它接受输入两个地理坐标向量(data['LON']当然data['LAT'])并返回两个数组x和y地图上的投影位置(这可以正常工作)。
我可以使用单独的向量x,y但我想增加data两个新列,data['x']并且data['y']。我天真的尝试
data['x'], data['y'] = convert(data['LON'], data['LAT'])\nRun Code Online (Sandbox Code Playgroud)\n\n提出了一个ValueError: no field of name x,教我它data具有字典的一些特征,但字典却没有。
可以如我所愿吗?蒂亚
\n\n …我正在尝试检索列表中最频繁和不太频繁的元素。
frequency([13,12,11,13,14,13,7,11,13,14,12,14,14])
Run Code Online (Sandbox Code Playgroud)
我的输出是:
([7], [13, 14])
Run Code Online (Sandbox Code Playgroud)
我尝试过:
import collections
s = [13,12,11,13,14,13,7,11,13,14,12,14,14]
count = collections.Counter(s)
mins = [a for a, b in count.items() if b == min(count.values())]
maxes = [a for a, b in count.items() if b == max(count.values())]
final_vals = [mins, maxes]
Run Code Online (Sandbox Code Playgroud)
但我不想使用该collections模块并尝试更面向逻辑的解决方案。
你能帮我在没有集合的情况下做到这一点吗?
我正在尝试创建一个递归函数,以查找python列表的所有组合。
我想在函数中输入['a','b','c'],并在函数运行时希望跟踪显示如下:
['a','b','c']
['['a','a'],['b','a'],['c','a']]
['['a','a','b'],['b','a','b'],['c','a','b']]
['['a','a','b','c'],['b','a','b','c'],['c','a','b','c']]
Run Code Online (Sandbox Code Playgroud)
我的递归函数如下所示:
def combo(lst,new_lst = []):
for item in lst:
new_lst.append([lst[0],item])
print([lst[0],item])
return combo(new_lst,lst[1:])
Run Code Online (Sandbox Code Playgroud) 如果我们在Python中有以下列表
sentence = ["I", "am", "good", ".", "I", "like", "you", ".", "we", "are", "not", "friends", "."]
Run Code Online (Sandbox Code Playgroud)
如何将其拆分以获得包含以句点结束的元素的列表?所以我想在我的新列表中获得以下元素:
["I","am","good","."]
["I","like","you","."]
["we","are","not","friends","."]
Run Code Online (Sandbox Code Playgroud)
到目前为止我的尝试:
cleaned_sentence = []
a = 0
while a < len(sentence):
current_word = sentence[a]
if current_word == "." and len(cleaned_sentence) == 0:
cleaned_sentence.append(sentence[0:sentence.index(".")+1])
a += 1
elif current_word == "." and len(cleaned_sentence) > 0:
sub_list = sentence[sentence.index(".")+1:-1]
sub_list.append(sentence[-1])
cleaned_sentence.append(sub_list[0:sentence.index(".")+1])
a += 1
else:
a += 1
for each in cleaned_sentence:
print(each)
Run Code Online (Sandbox Code Playgroud)
运行此sentence生成
['I', 'am', 'good', '.']
['I', 'like', …Run Code Online (Sandbox Code Playgroud) python ×11
list ×2
matplotlib ×2
numpy ×2
biopython ×1
clojure ×1
combinations ×1
coordinates ×1
counting ×1
dictionary ×1
distance ×1
get ×1
indexing ×1
jinja2 ×1
jupyter ×1
nbconvert ×1
recursion ×1
reduce ×1
sum ×1
trigonometry ×1
vector ×1