【发布时间】:2021-04-02 21:00:47
【问题描述】:
我对 Python 和数据框比较陌生。我有数据框,其中一列是数组(来自 wav 的 mfcc 数据,所有行中的数组都具有相同的长度 273),其他列是浮点列。 代码比较简单:
train_mfccs, test_mfccs, train_labels, test_labels = train_test_split(df, Y, test_size=0.1, shuffle= True)
clf = MLPClassifier(max_iter=150)
clf.fit(train_mfccs, train_labels)
由于错误 - ValueError: setting an array element with a sequence,我无法将整个数据框放入 fit 方法中。
如果我只在数据框中留下数组列,或者只保留浮点列,但不能同时保留两者,我可以成功获得结果。 此外,我尝试使用 np 数组而没有结果,因为它要求每个新列的形状与第一列相同。 我尝试了添加相同形状的列的简单方法,然后仅填充第一个值。
但这给出了意想不到的形状 (50000, 1638) 虽然我想要 (50000,2) 其中:
- 第一列是长度为 273 的初始数组
- second 是长度为 273 且第一个值等于 attr1 的新数组。
X = np.array(list(df['mfcc']), dtype=np.float)
X0 = np.zeros((50000,273))
for index, value in enumerate(df['attr1']):
X0[index][0] = value
X = np.hstack((X,X0))
这是否可能实现 - 一列是数组,其他不是?
【问题讨论】:
标签: python arrays pandas dataframe