Pandas纵列判断?
我想实现是一个pandas dataframe的列内判断,请问怎么实现。
数据如下表:
我的数据是根据Protocol, start date和type排过序的。同一个protocol下,如果order列里面非0的值后面跟的是一个多或多个非0值,对这条非0记录加一个“YES”的flag,请问大神怎么实现?
回答:
首先进行分组
grouped = df.groupby("protocol")
然后进行组内判断
这个可以百度
我这边提供一个思路,如果还不会的话,再问吧
import pandas as pda = 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 D0 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