Si j'ai un dataframe avec les colonnes suivantes:
1. NAME object
2. On_Time object
3. On_Budget object
4. %actual_hr float64
5. Baseline Start Date datetime64[ns]
6. Forecast Start Date datetime64[ns]
Je voudrais pouvoir dire: voici un dataframe, donnez-moi une liste des colonnes qui sont de type Object ou de type DateTime?
J'ai une fonction qui convertit les nombres (Float64) en deux décimales, et j'aimerais utiliser cette liste de colonnes de dataframe, d'un type particulier, et l'exécuter via cette fonction pour les convertir toutes en 2dp.
Peut être:
For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?
df.dtypes
est-ce que.Réponses:
Si vous voulez une liste de colonnes d'un certain type, vous pouvez utiliser
groupby
:la source
object
type, quel que soit leur contenu réelselect_dtypes
placeÀ partir de pandas v0.14.1, vous pouvez utiliser
select_dtypes()
pour sélectionner des colonnes par dtypela source
L'utilisation
dtype
vous donnera le type de données de la colonne souhaitée:si vous voulez connaître les types de données de toutes les colonnes à la fois , vous pouvez utiliser le pluriel de
dtype
comme dtypes :la source
df.select_dtypes(include=['Object','DateTime']).columns
comme indiqué ci-dessousVous pouvez utiliser un masque booléen sur l'attribut dtypes:
Vous pouvez regarder uniquement ces colonnes avec le dtype souhaité:
Vous pouvez maintenant utiliser round (ou autre) et le réattribuer:
la source
Cela devrait faire l'affaire
la source
utiliser
df.info(verbose=True)
wheredf
is a pandas datafarme, par défautverbose=False
la source
Le moyen le plus direct pour obtenir une liste de colonnes de certains types de dtype, par exemple 'object':
Par exemple:
Pour obtenir toutes les colonnes dtype 'objet':
Pour juste la liste:
la source
Si vous voulez une liste des seules colonnes d'objets, vous pouvez faire:
puis si vous souhaitez obtenir une autre liste contenant uniquement les chiffres:
la source
Je suis venu avec ces trois lignes .
Essentiellement, voici ce qu'il fait:
Cela m'a rendu la vie beaucoup plus facile en essayant de générer des schémas à la volée. J'espère que cela t'aides
la source
pour yoshiserry;
la source
J'utilise infer_objects ()
df.infer_objects().dtypes
la source