Sono un po 'confuso con il tipo di dati "oggetto" in Panda. Che cosa è esattamente "oggetto"?Converti float in stringa in panda
Vorrei cambiare la variabile "SpT" (vedi sotto) da oggetto a stringa.
> df_cleaned.dtypes
Vmag float64
RA float64
DE float64
Plx float64
pmRA float64
pmDE float64
B-V float64
SpT object
M_V float64
distance float64
dtype: object
Per questo faccio la seguente:
df_cleaned['SpT'] = df_cleaned['SpT'].astype(str)
Ma questo non ha alcun effetto sulla DTYPE di SPT.
Il motivo per fare è quando faccio la seguente:
f = lambda s: (len(s) >= 2) and (s[0].isalpha()) and (s[1].isdigit())
i = df_cleaned['SpT'].apply(f)
df_cleaned = df_cleaned[i]
ottengo:
TypeError: object of type 'float' has no len()
Quindi, credo che se converto "oggetto" a "String", mi metterò fare ciò che voglio
Maggiori informazioni: Questo è come SPT assomiglia:
HIP
1 F5
2 K3V
3 B9
4 F0V
5 G8III
6 M0V:
7 G0
8 M6e-M8.5e Tc
9 G5
10 F6V
11 A2
12 K4III
13 K0III
14 K0
15 K2
...
118307 M2III:
118308 K:
118309 A2
118310 K5
118312 G5
118313 F0
118314 K0
118315 K0III
118316 F2
118317 F8
118318 K2
118319 G2V
118320 K0
118321 G5V
118322 B9IV
Name: SpT, Length: 114472, dtype: object
Il 'dtype' è un dtype numerico generico per tipi non interi, questo suggerisce che la tua colonna è già una stringa e sicuramente è dopo la conversione quindi il problema sta nella tua funzione – EdChum
Nope , la funzione è corretta. La risposta qui sotto mi ha aiutato. Grazie comunque! – Rohit
@aging_gorrila Quale versione di panda stai usando? –