如何将熊猫数据框转换为namedtuple

时间:2019-07-12 17:57:15

标签: python pandas

如何将熊猫数据框转换为namedtuple?该任务正朝着多处理工作迈进。

    def df2namedtuple(df):
       return tuple(df.row)

2 个答案:

答案 0 :(得分:1)

itertuples具有选项nameindex。您可以使用它们来返回确切的输出作为您发布的函数:

样本df:

df:
    A   B   C   D
0  32  70  39  66
1  89  30  31  80
2  21   5  74  63

list(df.itertuples(name='Row', index=False))

Out[1130]:
[Row(A=32, B=70, C=39, D=66),
 Row(A=89, B=30, C=31, D=80),
 Row(A=21, B=5, C=74, D=63)]

答案 1 :(得分:0)

https://groups.google.com/forum/#!topic/pydata/UaF6Y1LE5TI中从Dan回答

from collections import namedtuple

def iternamedtuples(df):
    Row = namedtuple('Row', df.columns)
    for row in df.itertuples():
        yield Row(*row[1:])