关于python pandas groupby apply 空行返回的不同情况
def _func(x):
print(type(x))
if x["a"].iloc[0] == 2:
return None
return x
A = pd.DataFrame(data=[[1,2,3],[2,3,4],[1,1,1]], columns=["a","b","c"])
A.groupby("b").apply(lambda x: _func(x))
这种情况下,每个group的return的x是<class 'pandas.core.frame.DataFrame'>
最终返回值为不含空行的数据

def _func2(x):
x2 = x.sum()
print(type(x2))
if x["a"].iloc[0] == 2:
return None
return x2
A = pd.DataFrame(data=[[1,2,3],[2,3,4],[1,1,1]], columns=["a","b","c"])
A.groupby("b").apply(lambda x: _func2(x))
这种情况下,每个group的return的x是<class 'pandas.core.series.Series'>
但是最终返回值却含空行

请问,这俩情况底层发生了什么导致产生这种差别