基于内层的Concat多索引数据
Concat multi-index data based on inner level
我有一个如下形式的多索引数据框():
key nm c0 c1 c2 c3
bar one -0.42 0.56 0.27 -1.08
two -0.67 0.11 -1.47 0.52
baz one 0.40 0.57 -1.71 -1.03
two -0.37 -1.15 -1.34 0.84
我想根据内部级别索引连接 df 中的数字,即 nm 由 \n 分隔(假设数字表示为字符串)并删除它level nm ;像下面这样:
key c0 c1 c2 c3
bar -0.42\n-0.67 0.56\n0.11 0.27\n-1.47 -1.08\n0.52
baz 0.40\n-0.37 0.57\n-1.15 -1.71\n-1.34 -1.03\n0.84
请指导如何实现。
您可以 groupby
在“键”上并使用“\n”加入。注意。您首先需要将数据转换为字符串:
df.astype(str).groupby(level=0).agg('\n'.join)
输出:
c0 c1 c2 c3
key
bar -0.42\n-0.67 0.56\n0.11 0.27\n-1.47 -1.08\n0.52
baz 0.4\n-0.37 0.57\n-1.15 -1.71\n-1.34 -1.03\n0.84
我有一个如下形式的多索引数据框():
key nm c0 c1 c2 c3
bar one -0.42 0.56 0.27 -1.08
two -0.67 0.11 -1.47 0.52
baz one 0.40 0.57 -1.71 -1.03
two -0.37 -1.15 -1.34 0.84
我想根据内部级别索引连接 df 中的数字,即 nm 由 \n 分隔(假设数字表示为字符串)并删除它level nm ;像下面这样:
key c0 c1 c2 c3
bar -0.42\n-0.67 0.56\n0.11 0.27\n-1.47 -1.08\n0.52
baz 0.40\n-0.37 0.57\n-1.15 -1.71\n-1.34 -1.03\n0.84
请指导如何实现。
您可以 groupby
在“键”上并使用“\n”加入。注意。您首先需要将数据转换为字符串:
df.astype(str).groupby(level=0).agg('\n'.join)
输出:
c0 c1 c2 c3
key
bar -0.42\n-0.67 0.56\n0.11 0.27\n-1.47 -1.08\n0.52
baz 0.4\n-0.37 0.57\n-1.15 -1.71\n-1.34 -1.03\n0.84