使用多索引更改数据框的形状

Change shape of dataframe with multiindex

如何更改我的多索引数据框的形状:

像这样,但所有单元格值,不仅是第一个索引:

我已经尝试这样做了,但不知何故只收到上面这段代码的数据帧:

numbers = [100,50,20,10,5,2,1]
for number in numbers:
    dfj[number] = df['First_column_value_name'].xs(key=number, level='Second_multiindex_column_name')

list_of_columns_position = []
for number in numbers:
    R_string = '{}_R'.format(number)
    list_of_columns_position.append(R_string)

df_positions_as_columns = pd.concat(dfj.values(), ignore_index=真, 轴=1) df_positions_as_columns.columns = list_of_columns_position

将你的第一列分成两部分,然后将结果与第二列连接起来,最后旋转你的数据框:

设置:

data = {'A': ['TLM_1/100', 'TLM_1/50', 'TLM_1/20',
              'TLM_2/100', 'TLM_2/50', 'TLM_2/20'],
        'B': [11, 12, 13, 21, 22, 23]}
df = pd.DataFrame(data)
print(df)

# Output:
           A   B
0  TLM_1/100  11
1   TLM_1/50  12
2   TLM_1/20  13
3  TLM_2/100  21
4   TLM_2/50  22
5   TLM_2/20  23
>>> df[['B']].join(df['A'].str.split('/', expand=True)) \
             .pivot(index=0, columns=1, values='B') \
             .rename_axis(index=None, columns=None) \
             .add_suffix('_R')

       100_R  20_R  50_R
TLM_1     11    13    12
TLM_2     21    23    22

使用正则表达式将标签列拆分为两列 a 和 b,然后按列 a 分组并取消分组。