使用 pandas 在列中打印列表对象

Print list object in column using pandas

我有通过如下所示打印生成 CSV 的代码

 array_all = {'Hand': [alldata], 'Pose':[keypoints], 'Face Pose': [face_position]}
        df = pd.DataFrame(
            array_all
        )
        df.to_csv('test.csv',
                  mode='w',
                  index=False,
                  header=True)

为了说明这些对象的创建方式,这里是其中一个对象的代码,所有对象都使用相同的结构

        face_position = []
        for data_point in results.face_landmarks.landmark:
            if 0.6 <= data_point.x < 0.8:
                face_position.append('Straight')
            else:
                face_position.append('Angled')

        print(face_position)

这里的face_landmarks指的是从mediapipe库(https://google.github.io/mediapipe/)创建的对象

目前我的 CSV 打印如下

不过,我希望它看起来像这样

在这行代码中:

array_all = {'Hand': [alldata], 'Pose':[keypoints], 'Face Pose': [face_position]}

您正在每个列中创建嵌套列表。不要忘记 alldatakeypointsface_position 已经是列表。

代替上面的方法,执行以下操作:

array_all = {'Hand': alldata, 'Pose':keypoints, 'Face Pose': face_position}