Python pandas tolist()没有返回列表但是[[]]

时间:2018-04-15 18:58:04

标签: python pandas

为什么tolist()方法在我的情况下没有返回列表,但看起来如下?

  

ShotID的已加载元数据:007_0030   [['007_0030','01 .02.2018','1001-1085','28 mm','T。 4','10 m','Super 35','Sony FS7','Zeiss Ultra Prime','30','172.8°','dolly','','','','']]

def loadshotinfo(self, df, shotid):
    ix = df['Shot#'].loc[df['Shot#'].str.contains(shotid)].index
    metadatalist = df.values[ix].tolist()
    print('Loaded metadata for ShotID: ' + shotid)
    print(metadatalist)

我认为值会返回一个数组,而tolist()会从中列出一个列表,那么为什么控制台会出现像[['lsdjasd','gjasvdj']]这样的列表应该看起来像['。 '' ..']

解决:tolist()实际上返回一个列表列表。

1 个答案:

答案 0 :(得分:1)

DataFrame是一个表。 .tolist()返回列表列表,每行一个列表。如果您只有一行,请使用df.values[ix].tolist()[0]将其解压缩。

相关问题