我想按一个列(id)分组,并检查另一列day的所有值是否均为'nan',在这种情况下,请删除所有对应的行。

我当时是这样的:

output = entry.iloc[entry.groupby['id'].day.isnull()]


但这没用...

entry = pd.DataFrame([ [1,],[1,],[1,],[1,],[2,3],[2,],[2,4]],columns=['id','day'])
output = pd.DataFrame([[2,3],[2,],[2,4]],columns=['id','day'])

最佳答案

groupbytransformcount

entry.loc[entry.groupby('id')['day'].transform('count').nonzero()]
Out[154]:
   id  day
4   2  3.0
5   2  NaN
6   2  4.0

关于python - 删除按一列分组的行,并且在panda/python的另一列中所有行均具有nan值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46866548/

10-09 06:20
查看更多