草庐IT

Indexing

全部标签

python - 获取多维 NumPy 数组中最大值的位置

如何获取多维NumPy数组中最大值的位置(索引)? 最佳答案 argmax()方法应该有帮助。更新(阅读评论后)我相信argmax()方法也适用于多维数组。链接的文档给出了一个例子:>>>a=array([[10,50,30],[60,20,40]])>>>maxindex=a.argmax()>>>maxindex3更新2(感谢KennyTM的评论)您可以使用unravel_index(a.argmax(),a.shape)将索引作为元组获取:>>>fromnumpyimportunravel_index>>>unravel_in

python - Pandas 使用什么规则来生成 View 和副本?

我对Pandas在确定从数据框中选择的内容是原始数据框的副本还是原始数据框的View时使用的规则感到困惑。如果我有,例如,df=pd.DataFrame(np.random.randn(8,8),columns=list('ABCDEFGH'),index=range(1,9))我知道query会返回一个副本,这样类似foo=df.query('2对原始数据帧df没有影响。我也明白标量或命名切片返回一个View,以便对这些进行分配,例如df.iloc[3]=70或df.ix[1,'B':'E']=222将改变df。但是当涉及到更复杂的情况时,我会迷路。例如,df[df.C改变了df,但

python - Pandas 使用什么规则来生成 View 和副本?

我对Pandas在确定从数据框中选择的内容是原始数据框的副本还是原始数据框的View时使用的规则感到困惑。如果我有,例如,df=pd.DataFrame(np.random.randn(8,8),columns=list('ABCDEFGH'),index=range(1,9))我知道query会返回一个副本,这样类似foo=df.query('2对原始数据帧df没有影响。我也明白标量或命名切片返回一个View,以便对这些进行分配,例如df.iloc[3]=70或df.ix[1,'B':'E']=222将改变df。但是当涉及到更复杂的情况时,我会迷路。例如,df[df.C改变了df,但

python - 获取 : TypeError: 'dict_values' object does not support indexing when using python 3. 2.3

这个问题在这里已经有了答案:TypeError:'dict_keys'objectdoesnotsupportindexing(5个回答)关闭6年前。这是我的代码:{names[i]:d.values()[i]foriinrange(len(names))}这在使用python2.7.3时完全正常;但是,当我使用python3.2.3时,我收到一条错误消息,指出'dict_values'对象不支持索引。如何修改代码以使其与3.2.3兼容? 最佳答案 在Python3中,dict.values()(连同dict.keys()和dict

python - 获取 : TypeError: 'dict_values' object does not support indexing when using python 3. 2.3

这个问题在这里已经有了答案:TypeError:'dict_keys'objectdoesnotsupportindexing(5个回答)关闭6年前。这是我的代码:{names[i]:d.values()[i]foriinrange(len(names))}这在使用python2.7.3时完全正常;但是,当我使用python3.2.3时,我收到一条错误消息,指出'dict_values'对象不支持索引。如何修改代码以使其与3.2.3兼容? 最佳答案 在Python3中,dict.values()(连同dict.keys()和dict

python - Pandas :索引数据框时的多个条件 - 意外行为

我正在按两列中的值过滤数据框中的行。由于某种原因,OR运算符的行为与我期望AND运算符的行为相似,反之亦然。我的测试代码:df=pd.DataFrame({'a':range(5),'b':range(5)})#let'sinsertsome-1valuesdf['a'][1]=-1df['b'][1]=-1df['a'][3]=-1df['b'][4]=-1df1=df[(df.a!=-1)&(df.b!=-1)]df2=df[(df.a!=-1)|(df.b!=-1)]print(pd.concat([df,df1,df2],axis=1,keys=['originaldf','u

python - Pandas :索引数据框时的多个条件 - 意外行为

我正在按两列中的值过滤数据框中的行。由于某种原因,OR运算符的行为与我期望AND运算符的行为相似,反之亦然。我的测试代码:df=pd.DataFrame({'a':range(5),'b':range(5)})#let'sinsertsome-1valuesdf['a'][1]=-1df['b'][1]=-1df['a'][3]=-1df['b'][4]=-1df1=df[(df.a!=-1)&(df.b!=-1)]df2=df[(df.a!=-1)|(df.b!=-1)]print(pd.concat([df,df1,df2],axis=1,keys=['originaldf','u

python - 在python中处理list.index(可能不存在)的最佳方法?

我的代码看起来像这样:thing_index=thing_list.index(thing)otherfunction(thing_list,thing_index)好的,这很简单,但你明白了。现在thing可能实际上不在列表中,在这种情况下,我想将-1作为thing_index传递。在其他语言中,如果index()找不到元素,这就是您所期望的返回值。实际上它会抛出一个ValueError。我可以这样做:try:thing_index=thing_list.index(thing)exceptValueError:thing_index=-1otherfunction(thing_li

python - 在python中处理list.index(可能不存在)的最佳方法?

我的代码看起来像这样:thing_index=thing_list.index(thing)otherfunction(thing_list,thing_index)好的,这很简单,但你明白了。现在thing可能实际上不在列表中,在这种情况下,我想将-1作为thing_index传递。在其他语言中,如果index()找不到元素,这就是您所期望的返回值。实际上它会抛出一个ValueError。我可以这样做:try:thing_index=thing_list.index(thing)exceptValueError:thing_index=-1otherfunction(thing_li

python - 在 Python 中,如何用另一个列表索引一个列表?

我想用另一个这样的列表索引一个列表L=['a','b','c','d','e','f','g','h']Idx=[0,3,7]T=L[Idx]并且T最终应该是一个包含['a','d','h']的列表。有没有更好的办法T=[]foriinIdx:T.append(L[i])printT#Givesresult['a','d','h'] 最佳答案 T=[L[i]foriinIdx] 关于python-在Python中,如何用另一个列表索引一个列表?,我们在StackOverflow上找到一个