我在不同的文件夹中有一组视频。每次选择视频时,我想保存该视频文件的一些属性,例如视频的名称、其目录以及 csv 文件中的帧数。我使用 pandas dataframe 来实现此目的,为每个视频创建一个单独的 csv 文件。像这样的东西:
import pandas as pd
import os
listOfLabels = pd.DataFrame([])
listOfLabels.append(pd.DataFrame({'video name': os.path.basename(path),
'video path': os.path.dirname(path),
'Number of frames': totalFrameNumber},
index=[0]), ignore_index=True)
dirName = 'C:/Users/bert/PycharmProjects/csvFiles'
fileName = os.path.splitext(os.path.basename(path))[0]
fileNameSuffix = 'csv'
csvPathAndName = os.path.join(dirName, fileName + '.' + fileNameSuffix)
listOfLabels.to_csv(csvPathAndName)
其中path是视频文件的路径,totalFrameNumber是视频中的帧数。我知道 dirName、fileName、totalFrameNumber、视频名称和视频路径都存在并且正确。问题是 listOfLabels 中没有 append 任何内容,尽管创建了 csv 文件,但它是空的。我的问题是,当我将数据 append 到 listOfLabels 中时,我做错了什么。
最佳答案
.append()
不会改变原始数据帧,它会返回一个带有 append 数据帧的新数据帧,好吧, append 。
应该是
listOfLabels = listOfLabels.append(pd.DataFrame({
'video name': os.path.basename(path),
'video path': os.path.dirname(path),
'Number of frames': totalFrameNumber},
index=[0]), ignore_index=True)
你可以忽略新的缩进,第一行真的很长。
关于python - Pandas:将数据 append 到 pandas 数据框中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54612289/