Pandas itertuples 没有按预期命名元组?

Pandas itertuples are not named tuples as expected?

使用 Pandas 文档中的此页面,我想将 CSV 读入数据框,然后将该数据框转换为命名元组列表。

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.itertuples.html?highlight=itertuples

我运行下面的代码...

import pandas as pd

def csv_to_tup_list(filename):
    myfile = filename
    df = pd.read_csv(myfile,sep=',')
    df.columns = ["term", "code"]
    tup_list = []
    for row in df.itertuples(index=False, name="Synonym"):
         tup_list.append(row)
    return (tup_list)

test = csv_to_tup_list("test.csv")
type(test[0]) 

... 并且返回的类型是 pandas.core.frame.Synonym,而不是命名元组。这是它应该如何工作,还是我做错了什么?

我的 CSV 数据只有两列数据:

a,1
b,2
c,3

例如。

"Named tuple" 不是类型。 namedtuple 是一个类型 factorypandas.core.frame.Synonym 是它为此调用创建的类型,使用名称 you picked:

for row in df.itertuples(index=False, name="Synonym"):
#                                     ^^^^^^^^^^^^^^

这是预期的行为。