从数据框中提取矩阵

Extracting a matrix from dataframe

我有这样的东西:

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

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)