我知道这是一个非常基本的问题,但由于某种原因,我找不到答案.如何在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)
但我认为应该有更好的方法.在那儿?
我有一段我的代码,我应该创建一个交换机.我想返回所有开关的列表.这里"开"将等于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"
是否有可能在MongoDB中找到最大的文档大小?
db.collection.stats() 显示平均大小,这不是真正的代表性,因为在我的情况下,大小可能有很大差异.
如何从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),表示以秒为单位的时差.
我参加了一门课程,学习了一些序言.我无法弄清楚如何/何时使用削减.即使我得到了切割的一般概念,我也似乎无法正确使用它们.任何人都可以简单地解释一下,或者给出一个他们可以推荐的"削减"的好教程(那不是learnprolognow.org)吗?
虽然问题的第一部分(标题中)已经被回答了几次(即,为什么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) 我对它的问题感到困惑.
写入函数
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) 在numpy有nan,NaN和NAN.拥有这三者的意义是什么,它们是否有所不同,或者其中任何一种都可以互换使用?
我正在尝试从数据框中删除少于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 ×7
numpy ×4
nan ×2
pandas ×2
algorithm ×1
datetime ×1
doctrine-orm ×1
list ×1
mongodb ×1
prolog ×1
prolog-cut ×1
python-2.7 ×1