首页 > 解决方案 > 从数据框中提取矩阵

问题描述

我有这样的事情:

import holoviews as hv
import pandas as pd
from holoviews import opts, dim
hv.extension('bokeh')
renderer = hv.renderer('bokeh')

csv_path = r'C:\Users\jose\Downloads\enron-v1.csv'
df_csv = pd.read_csv(csv_path ,index_col=0)

df_filter = df_csv[["fromJobtitle", "toJobtitle"]]
df_final = df_filter.groupby(df_filter.columns.tolist(),as_index=False).size()

这将产生如下内容:

 fromJobtitle         toJobtitle  size
0              CEO                CEO    65
1              CEO           Director    23
2              CEO           Employee    56
3              CEO    In House Lawyer     7
4              CEO            Manager   104

我想提取这个矩阵作为将数据绘制为全息视图中的桑基图的一种方式:

[['CEO', 'CEO', 65],
['CEO', 'Director', 23],
['CEO', 'Employee', 56]]
.......etc

标签: pythondataframematrixsankey-diagram

解决方案


pd.DataFrame已经以这种格式存储它们,所以你只需要这样做:

df_final.values

Out[149]: 
array([['CEO', 'CEO', 65],
       ['CEO', 'Director', 23],
       ['CEO', 'Employee', 56],
       ['CEO', 'Lawyer', 7],
       ['CEO', 'Manager', 104]], dtype=object)

推荐阅读