对于循环Pandas系列,一旦True打印另一个值

时间:2017-08-04 17:44:03

标签: python pandas series

尝试从数据框中搜索值,如下所示:

batchClient.CustomBehaviors.Add(RetryPolicyProvider.LinearRetryProvider(TimeSpan.FromSeconds(5), 10))

如果'中的值比较'是的,我想在同一行中打印相应的数字但是在' Price'列,一旦我打印出来,我想在列中打印一行' price'并且在列#<'

之后

有什么想法吗? 我想到了循环,然后试图获得这些值,但我无法找到实现它的方法。

有关我可以运行并制作的pd方法或函数的任何建议都可以获得这些值吗?

1 个答案:

答案 0 :(得分:3)

IIUC:

In [42]: df.assign(prev_price=df.Price.shift(), next_price=df.Price.shift(-1))
Out[42]:
   Price  compare  next_price  prev_price
0      2     True         4.0         NaN
1      4     True         6.0         2.0
2      6    False         7.0         4.0
3      7    False         8.0         6.0
4      8     True         NaN         7.0

过滤

In [43]: df.loc[df.compare].assign(prev_price=df.Price.shift(), next_price=df.Price.shift(-1))
Out[43]:
   Price  compare  next_price  prev_price
0      2     True         4.0         NaN
1      4     True         6.0         2.0
4      8     True         NaN         7.0