我有一个看起来像这样的pandas数据框
1 0 0 0 0 2 0 0 0 0 0 ... 0 0 1 2 0 0 0 0 0 0
2 0 0 0 3 0 0 0 4 0 0 ... 0 5 0 0 3 0 0 [1, 3] 0 0
3 0 0 0 0 0 0 0 2 0 0 ... 6 6 0 [2, 4] 0 2 0 0 0 0
4 1 0 6 1 0 0 0 0 0 0 ... 0 0 0 0 4 0 0 5 0 0
5 0 0 0 0 6 0 0 [2, 7] 0 0 ... 0 0 0 0 0 0 0 0 0 0
我正在尝试使用PCA来降低数据的维度,但数据中有一些点超过1维,如[2, 7]
所以,当我运行PCA时,我收到此错误
data = pca.fit_transform(z)
ValueError: could not convert string to float: '[1, 3]'
我该如何处理
答案 0 :(得分:2)
当观察长度不同时,香草PCA不起作用
如果df = pd.DataFrame([podcast_dict], columns=podcast_dict.keys())
df_podcast = pd.concat([df_podcast, df], axis =0).reset_index()
表示该单个单元格有两个数据点,请使用汇总函数(例如均值或中位数)首先为该单元格建立单个值,然后运行PCA。
(另外,这些字段的[1,3]
似乎是dtype
- 请记住转换为数字类型。)