-1

使用 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

例如。

4

1 回答 1

1

“命名元组”不是一种类型。namedtuple是一个类型工厂pandas.core.frame.Synonym是它为此调用创建的类型,使用选择的名称:

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

这是预期的行为。

于 2018-02-22T17:28:34.230 回答