假设我有一个看起来像这样的DataFrame:
keys sample verify
0 foo a 1
1 bar b 2
2 monty c 3
3 foo d 4
4 bar e 5
5 monty f 6 我想要在这个表单中:
foo_1 bar_1 monty_1 foo_2 bar_2 monty_2
0 a b c 1 2 3
1 d e f 4 5 6最好的出栈方式是什么?我已经尝试过pandas.pivot_table()和pandas.unstack()函数,但是数据透视表不能处理字母值,解栈函数也不能以我认为的方式工作(即栈的反转)。我假设你可以一列一列地解栈,并在最后加入数据帧,我遇到的主要问题是解栈函数和它所做的事情。对最好的方法有什么想法吗?
发布于 2016-08-03 06:35:36
df2 = df.set_index('keys').T.reset_index(drop=True) \
.T.groupby(level=0).apply(lambda df: df.reset_index(drop=True)) \
.stack().unstack(1).T
df2.columns = df2.columns.set_levels((df2.columns.levels[1] + 1).astype(str), level=1)
df2.columns = df2.columns.to_series().str.join('_')
df2

https://stackoverflow.com/questions/38731411
复制相似问题