所以我试图执行一些简单的数据操作并遇到一个奇怪的错误,这真的让我很难过。我有一个pd.Series浮动列表,如下所示(元素类型如下所示):
y_hat:
0 [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
1 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
2 [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]
3 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
4 [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0]
...
638 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
639 [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0]
640 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
641 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
642 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
type(y_hat): <class 'pandas.core.series.Series'>
type(y_hat[0]): <class 'list'>
type(y_hat[0][0]): <class 'float'>
然而,我不能像我期望的那样操作元素。以下代码不起作用:
y_hat = y_hat.apply(lambda x: x.append(1.0))
并且仅将所有元素转换为Nonetype。但是,这确实适用于个别元素:
test = y_hat[0].append(1.0)
知道为什么我不能使用append in series.apply()?
进行迭代答案 0 :(得分:0)
我仍然不知道为什么list.append不起作用,但我发现以下工作:
y_hat = y_hat.apply(lambda x: x + [1.0])