考虑 MultiIndex idx
idx = pd.MultiIndex.from_product([range(2013, 2016), range(1, 5)])
当我操作
idx.to_series().str.join(' ')
我明白了
2013 1 NaN
2 NaN
3 NaN
4 NaN
2014 1 NaN
2 NaN
3 NaN
4 NaN
2015 1 NaN
2 NaN
3 NaN
4 NaN
dtype: float64
这是因为不同层级的数据类型是
int
而不是str
。 join
函数需要的是一个str
类型。如何将整个idx
转换为str
?我已经完成了。
join = lambda x, delim=' ': delim.join([str(y) for y in x])
idx.to_series().apply(join, delim=' ')
2013 1 2013 1
2 2013 2
3 2013 3
4 2013 4
2014 1 2014 1
2 2014 2
3 2014 3
4 2014 4
2015 1 2015 1
2 2015 2
3 2015 3
4 2015 4
dtype: object
我想可能有一种我忽视的更简单的方法。
.values
来获得与被接受的答案相同的输出。 - bananafish