pandas系列地图函数如何返回数据帧

时间:2016-01-05 11:13:29

标签: python pandas

我尝试将一个返回数据帧的函数映射到每个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

0 个答案:

没有答案