【python:字典困境:如何根据属性正确地索引对象】教程文章相关的互联网学习教程文章

python – PANDAS vlookup对使用地图的常见索引系列【代码】

import pandas as pd import numpy as nppb = {"mark_up_id":{"0":"123","1":"456","2":"789","3":"111","4":"222"},"mark_up":{"0":1.2987,"1":1.5625,"2":1.3698,"3":1.3333,"4":1.4589}}data = {"id":{"0":"K69","1":"K70","2":"K71","3":"K72","4":"K73","5":"K74","6":"K75","7":"K79","8":"K86","9":"K100"},"cost":{"0":29.74,"1":9.42,"2":9.42,"3":9.42,"4":9.48,"5":9.48,"6":24.36,"7":5.16,"8":9.8,"9":3.28},"mark_up...

python – 如何从列表中删除索引列表【代码】

我在Python 3中有两个相同长度的列表列表如下:A = [[0], [0, 1], [0, 1, 2], [0, 1], [0, 1, 2, 3]] W = [[2, 2], [1, 2, 3], [2, 2, 2, 3], [1, 3, 4, 4], [1, 1, 3, 4]]A的元素是W的元素的索引.我想删除给定A的W的元素.因此,在示例中,我想删除W [0] [0],W [1] [0],W [1] [1],W [2] [0],W [2] [1],W [2] [2]等. 我做的是这样的:for t in range(len(A)):del W[t][A[t]]但是这会产生以下错误:TypeError:list indices必须是整数或...

python – 如何使用元组索引列表?【代码】

我正在学习Python,并遇到了这个例子:W = ((0,1,2),(3,4,5),(0,4,8),(2,4,6)) b = ['a','b','c','d','e','f','g','h','i'] for row in W:print b[row[0]], b[row[1]], b[row[2]]打印: a b c d e f 一个我 例如 我想找出原因! 我得到的例如第一次通过扩展版本是:print b[(0,1,2)[0]], b[(0,1,2)[1]], b[(0,1,2)[2]]但我不明白(0,1,2)是如何互动的.任何人都可以提供解释吗?谢谢. (这是一个tic tac toe游戏的一些代码的缩写版本,它...

python – numpy.argmax:如果多次出现最大值,如何获取对应于* last * occurrence的索引【代码】

我有一个数字数组,最大值可能会出现不止一次. 是否可以通过使用像numpy.argmax这样的东西找到最后一次出现的最大值的索引? 或者,更好的是,是否可以获得数组中所有最大值出现的索引列表?解决方法: import numpy as npa = np.array((1,2,3,2,3,2,1,3))occurences = np.where(a == a.max())# occurences == array([2, 4, 7])

python – NumPy数组索引【代码】

关于索引数组以获取其值的子集的简单问题.假设我有一个在一个空间中保存年龄的重新排列,在另一个空间中保存相应的值.我也有一个数组,这是我想要的年龄子集.这就是我的意思:ages = np.arange(100) values = np.random.uniform(low=0, high= 1, size = ages.shape) data = np.core.rec.fromarrays([ages, values], names='ages,values') desired_ages = np.array([1,4, 16, 29, 80])我想要做的是这样的事情:data.values[data.ages=...

Python元组中的高效多任意索引访问?【代码】

我有一个很长的Python元组.我想尽可能有效地从t抓取索引i1,i2,…,iN中的元素.什么是最好的方式? 一种方法是:(1) result = [t[j] for j in (i1, i2, ..., iN)]但这似乎会导致N个单独的查找到元组.有更快的方法吗?当Python做这样的切片时:(2) result = t[1:M:3]我假设它不执行M / 3单独查找. (也许它使用位掩码并执行单个复制操作?)是否有一些方法可以利用Python中的任何内容(2)使我的任意索引切片在单个副本中发生? 谢谢...

python – 如何在jinja2中按索引设置列表项【代码】

你好我想在jinja2的列表中设置一个项目的值,因为我正在尝试<code> {% set arr=[0,0,0,0,0,0,0,0] %} {% print arr %} {% set arr[1] = 1 %} {% print arr %} </code>但收到一条错误消息说: TemplateSyntaxError:期望令牌’=’,得到[‘ 请提出任何建议,在此先感谢解决方法:你可以这样做:In [25]: q = '''{% set arr=[0,0,0,0,0,0,0,0] %} {% print arr %} {% if arr.insert(1,1) %}{% endif %} {% print arr %}'''In [26]: jinja...

python – 在数据框中从多索引中完全删除一个索引标签【代码】

鉴于我有这个多索引数据帧:>>> import pandas as p >>> import numpy as np ... >>> arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo']), ... np.array(['one', 'two', 'one', 'two', 'one', 'two'])] ... >>> s = p.Series(np.random.randn(6), index=arrays) >>> s bar one -1.046752two 2.035839 baz one 1.192775two 1.774266 foo one -1.716643two 1.158605 dtype: float64我应...

python – 获取pandas中键的整数索引的最有效方法【代码】

如何尽快将密钥的整数位置获取到pandas索引? 例如,给定pd.DataFrame(data = np.asarray([[1,2,3],[4,5,6],[7,8,9]]),index = [‘alice’,’bob’ ,’查理’]) 什么是从’bob’到1的最快方式解决方法:使用get_loc,它是为此目的而制作的!df.index.get_loc('bob')

python – 列表及其索引列表中的最大值【代码】

li = [[1,2], [2,3], [7,6]]如何有效地找到最大值及其索引?假设我想要李:max_value = 7max_index = (2, 0)我可以这样做:max_value = 0 for row_idx, row in enumerate(alignment_matrix): for col_idx, col in enumerate(row):if col > max_value:max_value = colmax_index = (row_idx, col_idx)但是我需要一种有效的方法而不使用太多不必要的变量.解决方法:使用max和generator expression,您可以更快地表达它:max_value, m...

python – 查找一组索引,将一个NumPy ndarray的行映射到另一个【代码】

我有两个结构化的2D numpy数组,原则上是相同的,意思是A = numpy.array([[a1,b1,c1],[a2,b2,c2],[a3,b3,c3],[a4,b4,c4]]) B = numpy.array([[a2,b2,c2],[a4,b4,c4],[a3,b3,c3],[a1,b1,c1]])不是在意义上numpy.array_equal(A,B) # False numpy.array_equiv(A,B) # False numpy.equal(A,B) # ndarray of True and False但是从一个阵列(A)是原始阵列而在另一个阵列(B)中,数据沿着一个轴(可以沿着行或列)进行混洗. 什么是对B进行排序/混...

python – 计算Pandas groupby中的唯一索引值【代码】

在Pandas中,有一种非常简洁的方法可以按操作计算组内列中的不同值.例如ex = pd.DataFrame([[1, 2, 3], [6, 7, 8], [1, 7, 9]], columns=["A", "B", "C"]).set_index(["A", "B"]) ex.groupby(level="A").C.nunique()将返回A 1 2 6 1 Name: C, dtype: int64我还想计算索引级别B中的不同值,同时按A进行分组.我找不到从groupby对象访问B级别的简洁方法.我能想到的最好的是:ex.reset_index("B", drop=False).groupby(level="A")....

python – 断言pandas数据帧通过装饰器有一个日期时间索引【代码】

如何添加装饰器,声明函数的传入pandas dataframe参数具有日期时间索引? 我看过包engarde和validada,但还没找到任何东西.我可以在函数内部进行检查,但更喜欢装饰器.解决方法:正如@PadraicCunningham所写,使用functools.wraps创建一个并不太难:import functoolsdef assert_index_datetime(f):@functools.wraps(f)def wrapper(df):assert df.index.dtype == pd.to_datetime(['2013']).dtypereturn f(df)return wrapper@assert_index...

python – 搜索比get_loc更快,以在DataFrame索引中找到标签位置?【代码】

我需要在Pandas索引中找到标签的整数位置.我知道我可以使用get_loc方法,但后来我发现了searchsorted.只是想知道我是否应该使用后者来提高速度,因为我需要搜索数以千计的标签.解决方法:这取决于你的用例.使用@ ayhan的例子. 使用get_loc,在第一次查找时创建哈希表会有很大的前期成本.In [22]: idx = pd.Index(['R{0:07d}'.format(i) for i in range(10**7)]) In [23]: to_search = np.random.choice(idx, 10**5, replace=False) In ...

python – 当索引(DateTime)是星期日时从数据帧中删除一行【代码】

样本数据Open High Low Close DateTime 2016-01-03 00:00:00+00:00 1.08701 1.08723 1.08451 1.08515 2016-01-04 00:00:00+00:00 1.08701 1.09464 1.07811 1.08239 2016-01-05 00:00:00+00:00 1.08238 1.08388 1.07106 1.07502 2016-01-06 00:00:00+00:00 1.07504 1.07994 1.07185 1.07766 2016-01-07 00:00:00+00:00 1.07767 1.09401 1.077...

字典 - 相关标签