Pandas纵列判断?

我想实现是一个pandas dataframe的列内判断,请问怎么实现。

数据如下表:
我的数据是根据Protocol, start date和type排过序的。同一个protocol下,如果order列里面非0的值后面跟的是一个多或多个非0值,对这条非0记录加一个“YES”的flag,请问大神怎么实现?
Pandas纵列判断?


回答:

首先进行分组

grouped = df.groupby("protocol")

然后进行组内判断
这个可以百度

我这边提供一个思路,如果还不会的话,再问吧

import pandas as pd

a = pd.DataFrame()

a['A'] = [0,1,3,4,5,0,1,0,3,4,5,0,3]

a['D'] = ''

#%%

for i in a.index:

if i < len(a)-1:

if a['A'][i] != 0 and a['A'][i+1] != 0:

a['D'][i] = 'yes'

else:

a['D'][i] = '最后一行'

结果

    A     D

0 0

1 1 yes

2 3 yes

3 4 yes

4 5

5 0

6 1

7 0

8 3 yes

9 4 yes

10 5

11 0

12 3 最后一行

以上是 Pandas纵列判断? 的全部内容, 来源链接: utcz.com/a/159201.html

回到顶部