我想把原始数据集的第一列作为属性名,其余的每一列都变成行,并且把这些列的属性名作为行的分类标签,请问需要怎么做?是用pivot函数吗?应该怎么设置呢?求好心人解答。
示例如下图
原始数据什么格式?什么输出数据格式?什么库?
你提到了pivot,就当是 pandas 从 csv 读吧,我也没能想到还有可能是什么有 pivot 接口的库 ...
如果是 pandas, 可以直接转置数据
import pandas
data = pandas.read_csv("your_data.csv")
# 删除额外的 index
data.set_index('A', inplace=True)
transposed_data = data.transpose()
# 转置之后将 index 换成数据列
# transposed_data = transposed_data.set_axis('class').reset_index()
transposed_data = transposed_data.rename_axis('class').reset_index()
transposed_data.to_csv("transposed.csv", index=False)
这样的数据你的 class 列在最开头,如果非要在最后一列可以重排一下 header
from collections import deque
headers = deque(transposed_data)
headers.rotate(-1)
transposed_data[headers].to_csv("transposed.csv", index=False)