函数:pandas.DataFrame.stack, 官方链接:pandas.DataFrame.stack
功能:返回一个重构后的DataFrame或Series,与当前DataFrame相比,该DataFrame或Series具有多级索引,其中包含一个或多个新的最内部的级别。新的最内层是通过旋转当前数据帧的列来创建的。
个人理解是将column列转换为新的含有列内容的行,其实就是宽表变长表格(column to index)。
原始的matrix文件,数据格式如下:
原始数据格式
代码如下:
df = pd.read_csv("city.csv", header=0, encoding='gbk')
df = df.set_index('city').stack().reset_index()
df= df.rename(columns={'city': 'source', 'level_1': 'target', 0: 'indus'})
转换后的形式如下:
转换后的格式
网友评论