如何将二维数组(矩阵)转换为指定格式的DataFrame?
如何将二维数组(矩阵)转换为指定格式的DataFrame?
嘿,我来帮你搞定这个需求!看起来你有一个包含cluster数据的矩阵,想要把它转换成带有Trend和Cluster两列的DataFrame——其中Trend是从1开始的连续序号,Cluster对应原矩阵里的每个数值。下面我用Python的pandas库给你演示具体步骤:
步骤1:准备数据
首先我们先把你提供的cluster数据提取出来,不管它是列表形式还是numpy矩阵形式,都可以轻松处理:
- 如果是直接的列表:
import pandas as pd # 你的cluster数据列表 cluster_values = [5, 4, 2, 1, 2, 4, 1, 2, 2, 5, 1]
- 如果是numpy矩阵(也就是你展示的二维数组形式):
import pandas as pd import numpy as np # 模拟你的原矩阵 cluster_matrix = np.array([[5, 4, 2, 1, 2, 4, 1, 2, 2, 5, 1]]) # 把二维矩阵转成一维数组 cluster_values = cluster_matrix.flatten()
步骤2:生成目标DataFrame
接下来我们直接创建符合要求的DataFrame,Trend列用从1开始的连续整数,正好对应每个Cluster值的位置:
df = pd.DataFrame({ 'Trend': range(1, len(cluster_values) + 1), 'Cluster': cluster_values })
最终结果
运行上面的代码后,你打印df就能得到想要的格式:
Trend Cluster 0 1 5 1 2 4 2 3 2 3 4 1 4 5 2 5 6 4 6 7 1 7 8 2 8 9 2 9 10 5 10 11 1
简单来说,核心就是用range(1, 长度+1)生成连续的Trend序号,再和Cluster数据配对成DataFrame就搞定啦!
备注:内容来源于stack exchange,提问作者LZL
相关产品推荐
相关产品推荐

