在python中以表格格式转换元组列表

lea*_*ner 1 python pandas

以下列形式将元组列表转换为表的优雅方法是什么?

输入:

from pandas import DataFrame
mytup = [('a','b',1), ('a','c',2), ('b','a',2), ('c','a',3), ('c','c',1)]

a       b       1
a       c       2
b       a       2
c       a       3
c       c       1

mydf = DataFrame(mytup, columns = ['from', 'to', 'val'])
Run Code Online (Sandbox Code Playgroud)

输出:-可以替换为空白或nan

     a    b    c
a    -    1   2
b    2    -   -
c    3    -   1
Run Code Online (Sandbox Code Playgroud)

Anz*_*zel 7

pivot并且fillna是你想要的:

import pandas as pd

mytup = [('a','b',1), ('a','c',2), ('b','a',2), ('c','a',3), ('c','c',1)]
mydf = pd.DataFrame(mytup, columns=['from', 'to', 'val'])
mydf.pivot(index='from', columns='to', values='val').fillna(value='-')

to    a  b  c
from         
a     -  1  2
b     2  -  -
c     3  -  1
Run Code Online (Sandbox Code Playgroud)