python - Pandas:将数据 append 到 pandas 数据框中的问题

标签 python pandas dataframe append

我在不同的文件夹中有一组视频。每次选择视频时,我想保存该视频文件的一些属性,例如视频的名称、其目录以及 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/

相关文章:

python - 将shift_jis转换为utf-8

python - 接收 HTTP 错误 403 : Forbidden CSV download

python - 在 Pandas Advice 中对两列数据进行切片并输出新值

python - 每当下一行与上一行不同时就增加一个值

R:循环数据框根据日期提取数据子集

python - 按字符串列的长度对数据框进行排序

python TUI 弹出窗口

python - psycopg2 安装/Python 路径问题

python-3.x - 如何按年对多个数据框列进行分组?

apache-spark - 如何在spark中连接数据框中的字符串和列?