【python – 如何获得索引的排列?】教程文章相关的互联网学习教程文章

python – 多索引字典的词典【代码】

我有一个嵌套字典对象我想转换为多索引数据框,我该如何实现它. 例如.t['a'] = dict() t['b'] = dict() t['a']['1'] = pd.DataFrame([ [1.0,2.0],[3.0,4.0] ]) t['a']['2'] = pd.DataFrame([ [5.0,6.0],[7.0,8.0] ]) t['b']['1'] = pd.DataFrame([ [1.0,2.0],[3.0,4.0] ]) t['b']['2'] = pd.DataFrame([ [5.0,6.0],[7.0,8.0] ])所以我想转换为索引的一个数据框a1 0 1 0 1.0 2.0 1 3.0 4.02 0 5.0 6...

python – 从给定的索引列表中选择HDFStore中的行【代码】

我有一个大数据集,不适合内存.我目前将其存储在具有2个表的HDFStore中:df_hist是由MultiIndex索引的直方图的集合,其中第一级标记直方图,第二级标记直方图箱. df_params包含用于生成每个直方图的模拟参数,并由直方图标签(即df_hist索引的第一级)索引.In [1]: store = pandas.HDFStore('test.h5')In [2]: store['df_params'].head() Out[2]: N z sample sigma oct T 0 64 6 6235 0.6 22 0.8200 1 64 6 62...

python – 在子子列表中查找元素的索引【代码】

我有一个如下所示的列表:a = [[[0.0125, 6.6], [0.0125, 6.65], [0.0125, 6.7], [0.0125, 6.75], [0.0125, 6.8]], [[0.0185, 6.6], [0.0185, 6.65], [0.0185, 6.7], [0.0185, 6.75], [0.0185, 6.8]]]即:每个子列表中的N个子列表(这里仅两个)和M个子列表(在该示例中为五个).每个元素/子子列表由两个浮点数组成. 我需要找到给定元素的索引,比如[0.0185,6.75].在这种情况下,结果应为:[1,3]. 我不能只应用.index()运算符,因为元素在...

python – 提高cython数组索引速度【代码】

我有一个非常简单的功能,我需要加快速度.基本上我有一个16位数字的大数组,其中有一些洞. (大约10%)我需要遍历数组,找到连续有2 0的区域,然后用前一个和下一个元素的平均值填充它们.这在C中只需要几毫秒,但Python正在变得更糟. 我已经从普通的python数组转换为numpy数组,然后使用cython编译我的代码,但我仍然远离我的目标.我希望有更多经验的人可以看看我在做什么并给我一些反馈. 我的常规python代码如下所示:self.rawData = nump...

Python np.nonzero(ndarray) 返回数组中不为0的元素的索引【代码】

语法: 函数返回值为tuple元组类型,tuple内的元素数目与ndarray维度相同。 np.nonzero(ndarray)先强调一点,数组的索引是从0开始。 示例: # 1维数组 a = [0,2,3] b = np.nonzero(a) print(b) # (array([1, 2], dtype=int64),) # 说明:索引1和索引2的位置上元素的值非零。# 2维数组 a = np.array([[0,0,3],[0,0,0],[0,0,9]]) b = np.nonzero(a) print(b) # (array([0, 2], dtype=int64), array([2, 2], dtype=int64)) # 说明: #...

python – 来自形状的Numpy Broadcast索引【代码】

我有2个阵列形状,可以互相播放. 例如(2,2,1)和(2,3) 我想要一个带有这些形状的函数,并给我一个迭代器,从这些数组返回索引,这些形状将一起广播,并在结果输出数组中返回索引.iter, output_shape = broadcast_indeces_iterator((2, 2, 1), (2, 3)) assert output_shape == (2, 2, 3) for in1_ix, in_2_ix, out_ix in iter:print (in1_ix, in_2_ix, out_ix) 结果输出:(0, 0, 0), (0, 0), (0, 0, 0) (0, 0, 0), (0, 1), (0, 0, 1) (...

python – 从pandas DataFrame中提取符合条件的单元格索引【代码】

我在这样的pandas中有一个DataFrame:a b c A 1 2 3 B 4 5 6 C 7 8 9我想提取其单元格值大于6的索引名称和列名称对. 换句话说,我想获得[["B","c"], ["C","a"], ["C","b"], ["C","c"]]有没有聪明的方法来做到这一点?解决方法:您可以使用stack将帧展平为一系列,使用布尔索引来选择所需的术语,最后将结果索引转换为列表:s = df.stack() ii = s[s >= 6].index.tolist()例如:>>> s = df.stack() >>> s A a 1b 2c 3 B a ...

python – 在按时间索引时将pandas数据帧拆分为训练和测试集【代码】

如果我有一个按时间索引的数据帧怎么能把它分成训练和测试集2 / 3rds训练和1/3测试? 我是否必须创建一个连续增加整数的新列,然后使用set_index()到新的整数列? 或者我可以在保持时间指数的同时做到这一点吗?如果是这样,我不知道该怎么做. 我是否必须手动选择日期作为分割点,还是有其他方式?解决方法:只使用iloc这是一个基于整数的索引方法,索引是时间dtype的事实与使用iloc时无关:In [6]:df = pd.DataFrame({'a':['1','2','3'...

python – 仅通过索引最后一个轴的操作【代码】

我有一组3维向量.数组的维数是任意的:它可以是单个(N3),双(MN3),三(KMN3)等.我需要对向量的两个分量进行操作同时保留其他尺寸. 例如,如果我知道它是三维的,我可以做以下事情:R = numpy.arctan2(A[:,:,:,1], A[:,:,:,0])这给了我一个标量值的三维数组. 现在,能够在任意数量的维度上执行此操作.我需要切除除最后一个之外的所有其他维度.到目前为止,我能够做到这一点:s = [numpy.s_[:]] * (len(A.shape)-1) R = numpy.arctan2(A[s+...

Python – 按索引在列表列表中复制组【代码】

我已经看到很多关于从列表中删除重复项并计算它们的问题.但我正试图找到将它们分组的最佳方法 – 列表列表. 鉴于此示例,我想按第三个字段分组:[[1, "text", "name1", "text"],[2, "text", "name2", "text"],[3, "text", "name2", "text"],[4, "text", "name1", "text"]]我想得到这个:[[[1, "text", "name1", "text"],[4, "text", "name1", "text"]],[[2, "text", "name2", "text"],[3, "text", "name2", "text"]]]我可以通过循环...

python – NumPy Indexing – 索引列表的所有成对元素【代码】

在NumPy中使用切片时,您将获得所有成对元素,例如:>> im = np.arange(1,37).reshape((6, 6)) >> im[1:6:2,1:6:2] array([[ 8, 10, 12],[20, 22, 34],[32, 34, 36]])但是,当使用索引的列表/元组时,似乎没有遵循此行为:>> im[(1,3,5),(1,3,5)] array([ 8, 22, 36])>> im[[1,3,5],[1,3,5]] array([ 8, 22, 36])相反,它只是对角线(在这种情况下).如果您不能将索引指定为切片,则会出现问题,例如(1,3,4)和(1,3,6).对于那两个元组,我希望...

python汇总每个索引中数组中的所有先前值【代码】

我有一个数组:my_array = [1, 4, 1, 13, 9]并且想要创建一个新数组,my_array中的每个索引都是以前所有索引值的总和summed_array = [0, 1, 5, 6, 19]我试过类似的东西for ind,i in enumerate(my_array):print i, my_array[ind-1]但无法弄清楚如何获得所有先前值的总和.解决方法: >>> from numpy import cumsum, ones >>> a = ones(10) >>> print(cumsum(a)) array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])

python – 在字符串列表中查找子字符串,返回索引【代码】

我有一个由readlines()转储的字符串列表,我想找到包含子字符串或最后一行的第一行的索引. 这有效,但看起来很笨重:fooIndex=listOfStrings.index((next((x for x in listOfStrings if "foo" in x),listOfStrings[-1])))必须有比搜索两次更好的方法,但我找不到它.解决方法:我认为没有一个好的(即可读的)单线解决方案.对于@ eugene的循环,您也可以使用try / except.def get_index(list_of_strings, substring):try:return next(i for...

python – 按值内部过滤列并获取索引【代码】

我想用其值大于或等于1的列来获取其他数据框填充.df = pd.DataFrame({'A': '0 1 0 0 1 2'.split(),'B': '0.1 0.2 0 0.5 0 0.1'.split(),'C':'0.1 0.2 0 0.5 0 0.1'.split()})A B C 0 0 0.1 0.1 1 1 0.2 0.2 2 0 0 0 3 0 0.5 0.5 4 1 0 0 5 2 0.1 0.1例如,我想得到像这样的df2:df2 = pd.DataFrame({'A': '0 1 0 0 1 2'.split()})如果我尝试df2 = df2 [df2.values.astype(float)> = 1]我保留我的三...

从非唯一索引Python Pandas创建唯一的MultiIndex【代码】

我有一个带有非唯一索引的pandas DataFrame:index = [1,1,1,1,2,2,2,3]df = pd.DataFrame(data = {'col1': [1,3,7,6,2,4,3,4]}, index=index)df Out[12]: col1 1 1 1 3 1 7 1 6 2 2 2 4 2 3 3 4我想把它变成唯一的MultiIndex并保留顺序,如下所示:col1Ind2 1 0 11 32 73 6 2 0 21 42 3 3 0 4我想大熊猫会有这样的功能,但没有找到...