Это похоже на ошибку в pandas.Series.all
мне (df
является Панда DataFrame
объекта, и pd
представляет собой сокращенная pandas
):«TypeError: только длина-1 Массивы могут быть преобразованы в Python скаляры»
In [18]: df.foo.apply(lambda x: x.startswith(u'bar').head()
Out[18]:
0 True
1 False
2 True
3 True
4 False
Name: foo
In [19]: (df.baz == u'frobozz').head()
Out[19]:
0 False
1 False
2 True
3 True
4 False
Name: baz
In [20]: (type(Out[20]), type(Out[19]))
Out[20]: (pandas.core.series.Series, pandas.core.series.Series)
In [21]: pd.Series.all(Out[18], Out[19])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-310-d132f431d45f> in <module>()
----> 1 pd.Series.all(Out[18], Out[19])
/home/jones/.virtualenvs/proj/local/lib/python2.7/site-packages/pandas/core/series.pyc in f(self, *args, **kwargs)
276 @Appender(func.__doc__)
277 def f(self, *args, **kwargs):
--> 278 result = func(self, *args, **kwargs)
279 if isinstance(result, np.ndarray) and result.ndim == 0:
280 # return NumPy type
/home/jones/.virtualenvs/proj/local/lib/python2.7/site-packages/numpy/core/_methods.pyc in _all(a, axis, dtype, out, keepdims)
28 def _all(a, axis=None, dtype=None, out=None, keepdims=False):
29 return um.logical_and.reduce(a, axis=axis, dtype=dtype, out=out,
---> 30 keepdims=keepdims)
31
32 def _count_reduce_items(arr, axis):
TypeError: only length-1 arrays can be converted to Python scalars
Что происходит?
+1 Я не знал, что вы можете использовать Out [14] и т. Д. В качестве переменных. –
@ AndyHayden: Идея заключается в том, что ipython заимствован из Mathematica (который, на мой взгляд, устанавливает стандарт для графических интерфейсов любого типа и делал это в течение последних 20 лет или около того). BTW, как и 'Out', можно рассматривать как массив, поэтому он может' In', хотя его содержимое не так полезно. Одна (по общему признанию, надуманная) ситуация, в которой 'In' могла бы быть удобной, была бы, например, если' In [10] 'является сложным выражением, включающим' x', назовем его 'E (x)' для краткости, а значение 'x' изменилось с тех пор, как' In [10] 'была оценена (чтобы получить то, что теперь находится в' Out [10] ') .... – kjo
Тогда можно было бы запустить' eval (In [10]) ', чтобы получить обновленное значение для 'E (x)'. IOW, 'In' можно рассматривать как« адресуемую »форму истории взаимодействия, которая позволяет получить конкретное входное выражение без необходимости линейного (обратного) обхода истории с помощью стрелки вверх , – kjo