J'ai une colonne dans Dataframe qui est de l'objet de type. Je veux le convertir en un tableau. Ex:
'["399866273","12444645","162497334"]'
3 Réponses :
Si vous voulez dire une liste, vous pouvez simplement utiliser eval () code> p>
import json
import numpy as np
def toarray(s):
x = json.loads(s)
arr = np.array(x)
return arr
# Test
s = '["399866273","12444645","162497334"]'
asset type(toarray(s)) == np.ndarray
assert all(toarray(s) == np.array(["399866273", "12444645", "162497334"]))
# Apply to df
colname = ... # your col name
df['as_array'] = df[colname].apply(toarray)
Vous pouvez essayer quelque chose comme ceci:
df = pd.DataFrame(['["399866273","12444645","162497334"]'], columns = ['Column_ObjectType'])
df.dtypes
#output
Column_ObjectType object
dtype: object
df[['Value1','Value2','Value3']] = df.Column_ObjectType.str.split(",", expand=True)
df.head()
#output
Column_ObjectType Value1 Value2 Value3
0 ["399866273","12444645","162497334"] ["399866273" "12444645" "162497334"]
df['Value1'] = df.Value1.apply(lambda x: x[2:-1])
df['Value2'] = df.Value1.apply(lambda x: x[1:-1])
df['Value3'] = df.Value1.apply(lambda x: x[1:-1])
df.head()
#output
Column_ObjectType Value1 Value2 Value3
0 ["399866273","12444645","162497334"] 399866273 39986627 39986627
Si vous voulez dire un
numpy.ndarray code>, vous voulez justemy_df ['colonne']. Valeurs code>, si vous voulez une liste i>, alors vous venez de veulentmy_df ['colonne']. to_list () code>Je ne peux pas faire ça, il dirait que "Str" L'objet n'a pas d'attribut 'valeurs' @ Juanpa.arrivillaga
Ensuite, Vous n'avez pas de DataFrame B> Vous avez
str code>. Comment avez-vous produit cette chaîne? Vous devez fournir un exemple de reproductible minimal .Essayez Dir (ToOObject) pour l'objet que vous obtenez. Cela peut aider à déterminer ce que vous traitez.
@ Mike67 ou juste
type (my_Object) code>@ Juanpa.arrivillaga C'est une colonne d'un Dataframe. Quand je fais df.dtype, cela montre cette colonne comme objet.
@Johnconcstantine alors vous ne faites pas ce que je vous ai dit. Veuillez encore fournir un exemple de reproductible minimal si vous obtenez bien cette erreur.