对于我正在编写的一些代码,我需要从1-30跳过迭代6.我天真地尝试的是
a = range(1,6)
b = range(7,31)
for i in a+b:
print i
Run Code Online (Sandbox Code Playgroud)
有没有办法更有效地做到这一点?
我正在尝试构建一个函数,该函数给出一个列表将返回一个元素相乘的列表,不包括位于同一索引处的元素。例如,对于列表[1,2,3,4],它将返回[2*3*4,1*3*4,1*2*3]。这是我试过的
import numpy as np
def my_function(ints):
products = np.ones(len(ints))
indices = range(0,len(ints))
for i in ints:
if i != indices[i]
products *=ints[i]
return products
Run Code Online (Sandbox Code Playgroud)
我认为我的问题是我认为“i”将引用索引而不是这些索引的值。
如果我有一个清单
a = [9,4,3,6,4,4,3,6,4]
Run Code Online (Sandbox Code Playgroud)
如何检查两个相邻元素是否相同?例如,对于索引4和5处的元素(两者都具有值4)将是如此.
这一直对我有用,但是从几天前开始,我得到了奇怪的结果。
my_list = [1,2,3,4,5]
my_series = pd.Series(my_list)
print pd.to_timedelta(my_series)
Run Code Online (Sandbox Code Playgroud)
刚刚返回
0 00:00:00:000000
1 00:00:00:000000
2 00:00:00:000000
3 00:00:00:000000
4 00:00:00:000000
Run Code Online (Sandbox Code Playgroud)
谁能告诉我发生了什么事?
编辑:在我的实际代码中,我使用以下命令将我的(即将成为timedelta)列更改为整数
df['col'].astype(int, inplace = True)
Run Code Online (Sandbox Code Playgroud)
在调用to_timedelta函数之前。我真的应该一直在做
new_col = pd.to_numeric(df['col'])
Run Code Online (Sandbox Code Playgroud)
然后在new_col上调用to_timedelta。也许有人可以阐明为什么会这样。
我想知道如何根据列中的字符串和行中的字符串来获取Excel的值.例如
a73hfj a384asd a848fjs
a x1 x2 x3
b y1 y2 y3
c z1 z2 z3
Run Code Online (Sandbox Code Playgroud)
如何通过指定它位于b的行和a384asd的列中来找到y2?
谢谢!
我是编程的新手,并且在简化代码方面遇到了一些问题.我对此之前的部分没有任何问题,只需要知道如何简化这段代码.我希望下面的代码也可以在"11"的位置绘制12,18,20,27和28.我非常感谢你的帮助!
simrecno1inds11 = nonzero(datasim11[:,1]==no1)[0]
simrecno2inds11 = nonzero(datasim11[:,1]==no2)[0]
simrecno3inds11 = nonzero(datasim11[:,1]==no3)[0]
simrecno4inds11 = nonzero(datasim11[:,1]==no4)[0]
simrecno5inds11 = nonzero(datasim11[:,1]==no5)[0]
simrecno7inds11 = nonzero(datasim11[:,1]==no7)[0]
simrecno8inds11 = nonzero(datasim11[:,1]==no8)[0]
simrecno9inds11 = nonzero(datasim11[:,1]==no9)[0]
simrecno10inds11 = nonzero(datasim11[:,1]==no10)[0]
simrecno11inds11 = nonzero(datasim11[:,1]==no11)[0]
simrecno12inds11 = nonzero(datasim11[:,1]==no12)[0]
simrecno13inds11 = nonzero(datasim11[:,1]==no13)[0]
simrecno14inds11 = nonzero(datasim11[:,1]==no14)[0]
simrecno15inds11 = nonzero(datasim11[:,1]==no15)[0]
simrecno16inds11 = nonzero(datasim11[:,1]==no16)[0]
simrecno17inds11 = nonzero(datasim11[:,1]==no17)[0]
simrecno18inds11 = nonzero(datasim11[:,1]==no18)[0]
simrecno19inds11 = nonzero(datasim11[:,1]==no19)[0]
simrecno20inds11 = nonzero(datasim11[:,1]==no20)[0]
simrecno21inds11 = nonzero(datasim11[:,1]==no21)[0]
simrecno22inds11 = nonzero(datasim11[:,1]==no22)[0]
simrecno23inds11 = nonzero(datasim11[:,1]==no23)[0]
simrecno24inds11 = nonzero(datasim11[:,1]==no24)[0]
simrecno25inds11 = nonzero(datasim11[:,1]==no25)[0]
simrecno26inds11 = nonzero(datasim11[:,1]==no26)[0]
simrecno27inds11 = nonzero(datasim11[:,1]==no27)[0]
simrecno28inds11 …Run Code Online (Sandbox Code Playgroud) 我正在创建一个检查输入并在输入格式不正确时退出的函数。但是,我收到一个错误,提示 sys.exit() 是“无效语法”。任何帮助将非常感激!
import re
import sys
def my_program(x):
# takes input in form '#d#'
if re.match('\d\w\d', x ) is False:
print('Format of input must be '#d#')
sys.exit()
Run Code Online (Sandbox Code Playgroud)