在R语言中如何将4行dataframe转换为指定顺序的2×2数值矩阵
实现方法
你可以先按指定顺序分别提取两列的对应数值,再拼接为目标矩阵,示例代码如下:
import pandas as pd import numpy as np # 你的原始DataFrame,这里是示例构造代码 df = pd.DataFrame({ "name": ["A", "B", "C", "D"], "number": [287, 1390, 1595, 369] }) # 将name设为索引,方便按标签取值 df = df.set_index("name") # 按需求定义左列、右列的标签顺序 left_col_labels = ["A", "B"] right_col_labels = ["D", "C"] # 提取数值并拼接为矩阵 num_matrix = np.column_stack([ df.loc[left_col_labels, "number"], df.loc[right_col_labels, "number"] ]) # 如果需要生成对应的标签矩阵,用同样逻辑生成即可 label_matrix = np.column_stack([left_col_labels, right_col_labels])
运行后num_matrix的输出就是你需要的数值矩阵:
array([[ 287, 369], [1390, 1595]])
如果需要嵌套列表格式的结果,调用num_matrix.tolist()即可。
内容的提问来源于stack exchange,提问作者candyuuu
相关产品推荐
相关产品推荐

