Me gustaría concatenar los siguientes dos conjuntos de datos. Cualquier ayuda sería apreciada por favor.
1er dato total_pos
:
1170050176.9395077
2do dato p
:
0 -0.000844
1 -0.002487
2 -0.004132
3 -0.006029
4 -0.004442
Length: 5, dtype: float64
La salida que deseo:
0 1170050176.9395077
1 -0.000844
2 -0.002487
3 -0.004132
4 -0.006029
5 -0.004442
Length: 6, dtype: float64
Mi código:
p = np.concatenate([total_pos,p])
El error:
p = np.concatenate([total_pos,p])
ValueError: zero-dimensional arrays cannot be concatenated
3 respuestas
O usando numpy.hstack
:
arr = np.hstack([total_pos, s])
# or into series
s = pd.Series(np.hstack([total_pos, s]))
Salida:
array([ 1.17005018e+09, -8.44000000e-04, -2.48700000e-03, -4.13200000e-03,
-6.02900000e-03, -4.44200000e-03])
Ambas soluciones que proponen se basan en Series .append: añade un elemento a tu serie pero debe ser del tipo de serie.
Primera solución: Propuesto por @jezreal, agregue ignorando los índices, de esta manera el índice de el nuevo elemento se calcula automáticamente
Segunda solución: especifique el valor del índice:
s=pd.Series([11,22,33])
new_index = [str(s.index[-1] + 1) + 'b'] # you may need to specify a particular index for the new series, in this case calculate the value following the last index
s = s.append(pd.Series(44, index=new_index))
0 11
1 22
2 33
3b 44
Si desea transformar la serie utilizada en una matriz numpy, simplemente haga:
arr = np.array(s)
# output: array([11, 22, 33, 44])
Utilice Series.append
con convertir escalar a un elemento Series
:
p = pd.Series([total_pos]).append(p, ignore_index=True)
print (p)
0 1.170050e+09
1 -8.440000e-04
2 -2.487000e-03
3 -4.132000e-03
4 -6.029000e-03
5 -4.442000e-03
dtype: float64
Su solución funciona si convierte escalar a una lista de elementos:
a = np.concatenate([[total_pos],p])
print (a)
[ 1.17005018e+09 -8.44000000e-04 -2.48700000e-03 -4.13200000e-03
-6.02900000e-03 -4.44200000e-03]
Para Series
agregar constructor:
s = pd.Series(np.concatenate([[total_pos],p]))
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.