我有一个函数,它接受dataframe列并根据特定条件返回一个布尔掩码:
def is_downtrending(close):
out = np.full(close.shape, False)
for i in range(close.shape[0]):
# if we've had two consecutive red days
if (close[i] < close[i - 1]) and (close[i - 1] < close[i - 2]):
out[i] = True
尝试在pandas中分组,然后对值进行排序,并让结果列显示您需要添加哪些内容才能到达组中的下一行,以及是否为组的末尾。将值替换为数字3。有谁知道怎么做吗? import pandas as pd
df = pd.DataFrame({'label': 'a a b c b c'.split(), 'Val': [2,6,6, 4,16, 8]})
df
label Val
0 a 2
1 a 6
2 b 6
3 c 4
4 b 16
5 c 8 我喜欢如下所示的结果,即你必须将4加到2才能
问:如何找到pandas数据框中与建议的另一个时间相比具有最小时间差的所有行?
示例:
Advicenr Advicehour Setdownnr Zone Setdownhour
0 A 1 A 16 **2** <-- zone 16 is closest to advicehour of A
1 A 1 A 16 **3**
2 A 2 A 18 5
3 A 2 A
我有一个Dataframe,包含一个名称列和一个数字列。
0 name number
1 a 3
2 a 6
3 b 2
4 b 500
5 c 349
6 c 200
我想要做的是定义一个新列,它显示具有相同名称的两个顺序行之间的数值差异。这可以输出到比较的第一行,即:
0 name number diff
1 a 3 3
2 a 6 N/A
3 b 2 498
4 b 500 N/A
5 c 349 149
6 c 200 N/A
用Pandas做这件事的最好方法是什么?
在Pandas 0.14.1中,diff()不会在时间序列开始时生成值。
使用diff()处理丢失的数据似乎与使用cumsum()不同,后者假定NaN ==为0。我想知道是否有一种方法可以使diff()假设以前丢失的数据为0(丢失是因为它来自开始时间序列之前)。
例如:
>print df
2014-05-01 A Apple 1
B Banana 2
2014-06-01 A Apple 3
B Banana
我有如下表格的df。我想计算中每个多索引组中的行之间的差异,并将输出存储在不同的列中,例如差异。
我的DF
values
first second
bar one 10
two 20
baz one 15
two 30
foo one 25
two 40
qux one 05
two 10
预期输出:
values difference
first second
bar one 10 NaN
我有客户记录与id,时间戳和状态。
ID, TS, STATUS
1 10 GOOD
1 20 GOOD
1 25 BAD
1 30 BAD
1 50 BAD
1 600 GOOD
2 40 GOOD
.. ...
我正在尝试计算每个客户在连续的错误状态(假设上面的订单是正确的)上花费了多少时间。因此,对于客户id=1,总共花费了575秒的30-25,50-30,600-50处于错误状态。
在Pandas中这样做的方法是什么?如果我在TS上计算.diff(),就会得到差异,但我如何才能将1)与客户2)该客户的特定状态“块”联系起来?
示例数据:
df = pandas.DataFrame({
我有一个包含多个子组的表。例如,人A总共有三次访问,而人B总共有两次访问。我也有每次访问的时间:
id visit time_of_visit
A 1 2002-01-15
A 2 2003-01-15
A 3 2003-02-15
B 1 1996-08-09
B 2 1998-08-09
我想计算一下每
给定一个包含等级和薪资的HR员工数据集,我希望确定每个员工的等级和薪资是否都发生了变化。 我可以使用.diff() pandas函数来实现,但是当第二个员工进来时,它会获取最后一个员工的数据,这并不是我所期望的。我希望对每个员工使用.diff()函数或其他方式。 以下是到目前为止使用的代码。 import pandas as pd
# This is my Dataset
hr = pd.DataFrame({'Employee': ['100201', '100201', '100201',
'100201'
我很难将自定义函数应用到Pandas中的每一组groupby列
我的自定义函数接受一系列数字,取连续对的差值,并返回所有差值的平均值。下面是代码
def mean_gap(a):
b = []
for i in range(0, len(a)-1):
b.append((a[i+1]-a[i]))
return np.mean(b)
所以如果a= 1,3,7 mean_gap(a)会得到((3-1)+(7-3))/2) = 3.0
Dataframe:
one two
a 1
a 3
a 7
b 8