将数据框重塑为新的数据框
Reshaping a dataframe to a new Dataframe
您好,我想将数据框重塑为正确的形状。
A, B, C, ... 可以是人名
在 map
中使用 DataFrame.stack
并加入 MultiIndex
:
df1 = df.stack()
df1.index = df1.index.map(lambda x: f'{x[0]}{x[1]}')
df1 = df1.rename_axis('Link').reset_index(name='Value')
为了获得更好的性能,可以使用:
c = np.tile(df.columns, len(df))
i = np.repeat(df.index, len(df.columns))
v = np.ravel(df)
df = pd.DataFrame({'Link':c, 'b': i, 'value': v})
df['Link'] = df['Link'].str.cat(df.pop('b'))
您好,我想将数据框重塑为正确的形状。 A, B, C, ... 可以是人名
在 map
中使用 DataFrame.stack
并加入 MultiIndex
:
df1 = df.stack()
df1.index = df1.index.map(lambda x: f'{x[0]}{x[1]}')
df1 = df1.rename_axis('Link').reset_index(name='Value')
为了获得更好的性能,可以使用:
c = np.tile(df.columns, len(df))
i = np.repeat(df.index, len(df.columns))
v = np.ravel(df)
df = pd.DataFrame({'Link':c, 'b': i, 'value': v})
df['Link'] = df['Link'].str.cat(df.pop('b'))