Pandas groupby with first 不会跳过 None 值

问题描述

我有一个包含 None

值的数据框

当我尝试首先执行 groupby 时,它不会跳过这些值,并且在分组之前我无法将它们转换为空值

import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([(1,29),(1,50),(2,None),12),(3,None)]),columns=['day','amount'])
df.groupby('day')['amount'].first(dropna=True)

我收到错误 _cython_agg_general() got an unexpected keyword argument 'dropna

解决方法

试试这个:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([(1,29),(1,50),(2,None),12)]),columns=['day','amount'])
df[~df['amount'].isin([None])].groupby('day',dropna=True)['amount'].first()