小编sas*_*llo的帖子

在pandas系列中查找元素的索引

我知道这是一个非常基本的问题,但由于某种原因,我找不到答案.如何在python pandas中获取Series的某个元素的索引?(第一次出现就足够了)

即,我想要像:

import pandas as pd
myseries = pd.Series([1,4,0,7,5], index=[0,1,2,3,4])
print myseries.find(7) # should output 3
Run Code Online (Sandbox Code Playgroud)

当然,可以用循环定义这样的方法:

def find(s, el):
    for i in s.index:
        if s[i] == el: 
            return i
    return None

print find(myseries, 7)
Run Code Online (Sandbox Code Playgroud)

但我认为应该有更好的方法.在那儿?

python pandas

126
推荐指数
7
解决办法
27万
查看次数

在布尔列表中获取True值的索引

我有一段我的代码,我应该创建一个交换机.我想返回所有开关的列表.这里"开"将等于True和"关"相等False.所以现在我只想返回所有True值及其位置的列表.这就是我所有但它只返回第一次出现的位置True(这只是我代码的一部分):

self.states = [False, False, False, False, True, True, False, True, False, False, False, False, False, False, False, False]

def which_switch(self):
    x = [self.states.index(i) for i in self.states if i == True]
Run Code Online (Sandbox Code Playgroud)

这只返回"4"

python list

63
推荐指数
3
解决办法
10万
查看次数

在MongoDB中查找最大的文档大小

是否有可能在MongoDB中找到最大的文档大小?

db.collection.stats() 显示平均大小,这不是真正的代表性,因为在我的情况下,大小可能有很大差异.

mongodb

47
推荐指数
4
解决办法
2万
查看次数

numpy.timedelta64的时差(秒)

如何从numpy.timedelta64变量获得几秒钟的时差?

time1 = '2012-10-05 04:45:18'
time2 = '2012-10-05 04:44:13'
dt = np.datetime64(time1) - np.datetime64(time2)
print dt

0:01:05
Run Code Online (Sandbox Code Playgroud)

我想转换dt为数字(int或float),表示以秒为单位的时差.

python datetime numpy

39
推荐指数
3
解决办法
4万
查看次数

知道何时使用cut in prolog

我参加了一门课程,学习了一些序言.我无法弄清楚如何/何时使用削减.即使我得到了切割的一般概念,我也似乎无法正确使用它们.任何人都可以简单地解释一下,或者给出一个他们可以推荐的"削减"的好教程(那不是learnprolognow.org)吗?

prolog prolog-cut

38
推荐指数
3
解决办法
1万
查看次数

为什么在numpy`nan == nan`中是假的,而nan在[nan]中是真的?

虽然问题的第一部分(标题中)已经被回答了几次(即,为什么NaN不等于NaN?),我不明白为什么第二部分的工作方式(灵感)通过这个问题如何检查包含NaN的列表

即:

>> nan == nan
False

>> nan in [nan]
True
Run Code Online (Sandbox Code Playgroud)

考虑@DSM答案的问题的解释性附录.那么,为什么float("nan")表现与众不同nan?它不应该再次评估简单nan,为什么解释器这样做?

>> x = float("nan")
>> y = nan
>> x
nan
>> y
nan
>> x is nan, x is float("nan"), y is nan
(False, False, True)
Run Code Online (Sandbox Code Playgroud)

基本上,它nan在第一种情况下引用相同的泛型,但在第二种情况下创建单独的对象:

>> nans = [nan for i in range(2)]
>> map(id, nans)
[190459300, 190459300]
>> nans = [float("nan") for i in range(2)]
>> map(id, nans)
[190459300, 190459301]
Run Code Online (Sandbox Code Playgroud)

python numpy nan

33
推荐指数
1
解决办法
1万
查看次数

最大总和子列表?

我对它的问题感到困惑.

写入函数mssl()(最小和子列表),将整数列表作为输入.然后,它计算并返回输入列表的最大总和子列表的总和.最大总和子列表是输入列表的子列表(切片),其条目总和最大.空子列表定义为总和0.例如,列表的最大总和子列表[4, -2, -8, 5, -2, 7, 7, 2, -6, 5][5, -2, 7, 7, 2] 其条目的总和19.

如果我要使用这个函数,它应该返回类似的东西

>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

这是我目前的尝试,但它不会产生预期的结果:

def mssl(x):
    ' list ==> int '
    res = 0
    for a in x:
        if a >= 0:
            res = sum(x)
        return res
    else:
        return 0
Run Code Online (Sandbox Code Playgroud)

python algorithm

28
推荐指数
4
解决办法
3万
查看次数

nan,NaN和NAN之间有什么区别

在numpy有nan,NaNNAN.拥有这三者的意义是什么,它们是否有所不同,或者其中任何一种都可以互换使用?

python numpy nan

26
推荐指数
2
解决办法
1万
查看次数

Python Pandas:根据出现次数删除条目

我正在尝试从数据框中删除少于100次的条目.数据框data如下所示:

pid   tag
1     23    
1     45
1     62
2     24
2     45
3     34
3     25
3     62
Run Code Online (Sandbox Code Playgroud)

现在我计算这样的标记出现次数:

bytag = data.groupby('tag').aggregate(np.count_nonzero)
Run Code Online (Sandbox Code Playgroud)

但后来我无法弄清楚如何删除那些数量较少的条目......

python numpy python-2.7 pandas

22
推荐指数
3
解决办法
2万
查看次数

获取doctrine2实体中的列名称

如何获取教义实体中所有列的名称?

doctrine-orm

20
推荐指数
1
解决办法
2万
查看次数