为什么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]
将其提取。