Python pandas tolist() 不返回列表,而是返回 [[]]



为什么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(( 实际上返回了一个列表列表。

数据帧是一个表。 .tolist()返回一个列表列表,每行一个列表。如果只有一行,请使用 df.values[ix].tolist()[0] 将其提取。