Il existe de nombreuses colonnes dans Dataframe comme: pour les données de train et test de test.
Ainsi, au lieu d'écrire 20 à 30 lignes impaires pour chaque colonne en train et de test à nouveau, comment les écrire dans une fonction où nous ne pouvons passer que les noms de colonne (séparés par des virgules) et commandés comme un argument dans une fonction? < / p> Je ne peux penser qu'à une manière: (Nouveau à la programmation) p> Comment faire cela pour plusieurs noms de colonne à la fois? P> < / p>
3 Réponses :
En réalité, votre réponse fonctionne pour plusieurs colonnes, utilisez simplement des listes au lieu de valeurs simples:
a category b category c int32 dtype: object
df.dypes de ce Dataframe DF est le suivant: un int32, B int32. Cela devrait changer de catégorie
J'ai changé ma réponse pour définir la nouvelle colonne sur le Dataframe d'origine. À l'aide de DF.DTYPES, vous pouvez voir que les types sont «catégories» pour la colonne A et B comme prévu.
Cela peut aider
data = pd.read_excel(r"<file_location>.xlsx")
def data_type(df, as_type, ordered, *cols):
for col in cols:
df[col] = df[col].astype(as_type, ordered=False)
return df
df = data_type(data, 'category', 'False', data.columns)
Merci Jon, cela fonctionne aussi !. Et cela peut fonctionner sans la boucle de la fonction.!
Si vous ne vous concentrez que sur le réglage / changement de type pour un grand nombre de colonnes (toutes les colonnes) à la fois pour plusieurs dataframes: pandas.dataframe.asType code> permet de passer un dict de nom de colonne -> Type de données Code > (en tant que 1er argument):
Mais qu'en est-il de commandé = vrai / faux?
@Viv, c'est pourquoi j'ai mentionné si vous ne vous concentrez que sur la définition / changement de type i>. Vous pouvez l'utiliser comme alternative si nécessaire
Compris, merci, je vais utiliser la même syntaxe pour Fillna, Drowna, etc. Fonctions.
Il existe un moyen facile de définir le type, la seule chose qui entrave est différente de
commandé code> param.