我尝试将一个返回数据帧的函数映射到每个pandas Series元素。但是在map或apply之后,结果是Series而不是dataframe。有什么问题?
系列:
s1 = Series(['A',2,5])
功能:
df = DataFrame({'Type':['num','str','str'],'value':[1,2,7]})
def getDf(x):
if x in range(0,9):
return df[df.Type == 'num']
else:
return df[df.Type == 'str']
使用这样的地图时:
s1.map(getDf) # or s1.apply(getDf)
我得到像这样的A Sreis
0 Type value
1 str 2
2 str 7
1 Type value
0 num 1
2 Type value
0 num 1
我期待这样的数据帧结果。
0 Type value
1 str 2
2 str 7
3 num 1
4 num 1