Notes de version de la bibliothèque Snowpark pour Python pour 2025¶
Cet article contient les notes de version Snowpark Library for Python, y compris les éléments suivants, le cas échéant :
Changements de comportement
Nouvelles fonctionnalités
Corrections de bogues pour les clients
Snowflake utilise la version sémantique pour les mises à jour Snowpark Library for Python.
Voir Guide du développeur Snowpark pour Python pour la documentation.
Avertissement
Python 3.8 ayant atteint sa fin de vie, des avertissements d’obsolescence seront déclenchés lors de l’utilisation de snowpark-python avec Python 3.8. Pour plus d’informations, voir Prise en charge de l’environnement d’exécution Snowflake Python. Snowpark Python 1.24.0 sera la dernière version du client et du serveur à prendre en charge Python 3.8, conformément à la politique d’Anaconda. Passez vos objets Python 3.8 existants vers la version Python 3.9 ou une version plus récente.
Version 1.39.1 (25 septembre 2025)¶
Corrections de bogues¶
Ajout d’une correction expérimentale pour un bogue dans la génération de requête de schéma qui pourrait provoquer la génération de SQL non valides lors de l’utilisation de types structurés imbriqués.
Version 1.39.0 (17 septembre 2025)¶
Nouvelles fonctionnalités¶
Rétrogradation au niveau
logging.DEBUG - 1du message du journal indiquant que la référenceDataFramed’un objetDataFrameReferenceinterne a changé.Éliminer les requêtes de contrôle de paramètre en double pour l’état de la casse lors de la récupération de la session.
Récupérer les nombres de lignes DataFrame dans les métadonnées d’objets pour éviter une requête COUNT (*) (performance)
Ajout de la prise en charge de l’application de la fonction Snowflake Cortex
Complete.Pandas plus rapides : Amélioration des performances en reportant le calcul de la position des lignes.
Les opérations suivantes sont actuellement prises en charge et peuvent bénéficier de l” optimisation :
read_snowflake,repr,loc,reset_index,merge, et des opérations binaires.Si un objet paresseux (par exemple, DataFrame ou Series) dépend d’un mélange d’opérations prises en charge et non prises en charge, l” optimisation ne sera pas utilisée.
Mise à jour du message d’erreur apparaissant lorsque les pandas Snowpark sont référencés dans
apply.Ajout d’un paramètre de session
dummy_row_pos_optimization_enabledpour activer/désactiver l’optimisation de la position des lignes fictives dans les pandas rapides.
Mises à jour des dépendances¶
Mise à jour des versions
modinprises en charge vers >=0.35.0 et <0.37.0 (was previously >= 0.34.0 et <0.36.0).
Corrections de bogues¶
Correction d’un problème avec
drop_duplicatesoù la même source de données peut être lue plusieurs fois dans la même requête, mais dans un ordre différent à chaque fois, ce qui entraîne des lignes manquantes dans le résultat final. Le correctif garantit que la source de données n’est lue qu’une seule fois.Correction d’un bogue avec le mode exécution hybride où une
AssertionErrora été déclenchée de manière inattendue par certaines opérations d’indexation.
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge permettant la mise à jour corrective de
functions.ai_complete.
Version 1.38.0 (4 septembre 2025)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes optimisées par l’AI dans:code:
functions.py:ai_extractai_parse_documentai_transcribe
Ajout de la prise en charge de Time Travel pour l’interrogation des données historiques :
Session.table()prend désormais en charge les paramètres Time Travel :time_travel_modestatementoffsettimestamptimestamp_typestream
DataFrameReader.table()prend en charge les mêmes paramètres Time Travel que les arguments directs.DataFrameReaderprend en charge Time Travel via le chaînage d’options (par exemple,session.read.option("time_travel_mode", "at").option("offset", -60).table("my_table")).
Ajout de la prise en charge de la spécification des paramètres suivants dans
DataFrameWriter.copy_into_locationpour la validation et l’écriture de données dans des emplacements externes :validation_modestorage_integrationcredentialsencryption
Ajout de la prise en charge de
Session.directoryetSession.read.directorypour récupérer la liste de tous les fichiers d’une zone de préparation avec des métadonnées.Ajout de la prise en charge de
DataFrameReader.jdbc(Private Preview)qui permet au pilote JDBC d’ingérer des sources de données externes.Ajout de la prise en charge de
FileOperation.copy_filespour copier des fichiers d’un emplacement source vers une zone de préparation de sortie.Ajout de la prise en charge des fonctions scalaires suivantes dans
functions.py:all_user_namesbitandbitand_aggbitorbitor_aggbitxorbitxor_aggcurrent_account_namecurrent_clientcurrent_ip_addresscurrent_role_typecurrent_organization_namecurrent_organization_usercurrent_secondary_rolescurrent_transactiongetbit
Corrections de bogues¶
Correction du
_repr_deTimestampTypepour faire correspondre le sous-type réel qu’il représente.Correction d’un bogue dans
DataFrameReader.dbapiqui faisait que l’ingestionUDTFne fonctionnait pas dans les procédures stockées.Correction d’un bogue dans l’inférence de schéma qui entraînait l’utilisation de préfixes de zone de préparation incorrects.
Améliorations¶
Amélioration de la gestion des erreurs dans l’ingestion basée sur les threads
DataFrameReader.dbapipour éviter les opérations inutiles, ce qui améliore l’efficacité des ressources.Amélioration de la dépendance cloudpickle pour prendre également en charge:code:
cloudpickle==3.1.1en plus des versions précédentes.Amélioration des performances d’ingestion de
DataFrameReader.dbapi(Prévisualisation publique) pour PostgreSQL et MySQL en utilisant un curseur côté serveur pour récupérer des données.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Prise en charge terminée des fonctions suivantes sur les backends « Pandas » et « Ray » :
pd.read_snowflake()pd.to_iceberg()pd.to_pandas()pd.to_snowpark()pd.to_snowflake()DataFrame.to_iceberg()DataFrame.to_pandas()DataFrame.to_snowpark()DataFrame.to_snowflake()Series.to_iceberg()Series.to_pandas()Series.to_snowpark()Series.to_snowflake()sur les backends « Pandas » et « Ray ». Auparavant, seules certaines de ces fonctions et méthodes étaient prises en charge sur le backend Pandas.
Ajout de la prise en charge de
Index.get_level_values().
Améliorations¶
Définissez la limite de transfert par défaut dans l’exécution hybride pour les données qui quittent Snowflake à 100 000, qui peut être remplacée par la variable d’environnement
SnowflakePandasTransferThreshold. Cette configuration est appropriée pour les scénarios avec deux moteurs disponibles, « pandas » et « Snowflake », sur des charges de travail relationnelles.Amélioration du message d’erreur d’importation en ajoutant
--upgradeàpip install "snowflake-snowpark-python[modin]"dans le message.Réduction des messages de télémétrie du client modin en les pré-agrégeant dans des fenêtres de cinq secondes et en ne conservant qu’une bande étroite de métriques utiles pour suivre l’exécution hybride et les performances des pandas natifs.
Définition du nombre de lignes initiales uniquement lorsque l’exécution hybride est activée, ce qui réduit le nombre de requêtes émises pour de nombreuses charges de travail.
Ajout d’un nouveau paramètre de test pour les tests d’intégration afin de permettre l’exécution hybride.
Corrections de bogues¶
Génération de
NotImplementedErrorau lieu deAttributeErrorlors de la tentative d’appel de fonctions/méthodes d’extension Snowflaketo_dynamic_table(),cache_result(),to_view(),create_or_replace_dynamic_table(), etcreate_or_replace_view()sur DataFrames ou les séries utilisant les backends pandas ou ray.
Version 1.37.0 (18 août 2025)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des
xpath`fonctions suivantes dans :code:`functions.py:xpathxpath_stringxpath_booleanxpath_intxpath_floatxpath_doublexpath_longxpath_short
Ajout de la prise en charge du paramètre
use_vectorized_scannerdans la fonctionSession.write_arrow().Le profileur DataFrame ajoute les informations suivantes à chaque requête :
describe query time,execution timeetsql query text. Pour consulter ces informations, appelezsession.dataframe_profiler.enable()et appelezget_execution_profilesur un DataFrame.Ajout de la prise en charge de
DataFrame.col_ilike.Ajout de la prise en charge des appels de procédures stockées non bloquants qui renvoient les objets
AsyncJob.Ajout du paramètre
block: bool = TrueàSession.call(). Siblock=False, renvoie unAsyncJobau lieu de bloquer jusqu’à la fin.Ajout du paramètre
block: bool = TrueàStoredProcedure.__call__()pour la prise en charge asynchrone des procédures stockées nommées et anonymes.Ajout de
Session.call_nowait()qui est équivalent àSession.call(block=False).
Corrections de bogues¶
Correction d’un bogue dans la zone de préparation d’optimisation CTE où
deepcopydes plans internes entraînerait un pic de mémoire lorsqu’un DataFrame est créé localement en utilisantsession.create_dataframe()et engendrerait de grandes quantités de données d’entrée.Correction d’un bogue dans
DataFrameReader.parquetoù l’optionignore_casedans le:code:infer_schema_optionsn’était pas respectée.Correction d’un bogue à cause duquel
to_pandas()avait un format de nom de colonne différent lorsque le format de résultat de la requête est défini surJSONetARROW.
Dépréciations¶
pkg_resourcesrendu obsolète.
Mises à jour des dépendances¶
Ajout d’une dépendance sur
protobuf<6.32
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge du transfert efficace des données entre Snowflake et <Ray avec la méthode
DataFrame.set_backend. La version installée demodindoit être au moins 0.35.0, etraydoit être installé.
Mises à jour des dépendances¶
Mise à jour des versions de modin prises en charge vers >=0.34.0, = 0,33.0 et <0.35.0.
Ajout de la prise en charge de pandas 2.3 lorsque la version de modin installée est 0.35.0 ou supérieure.
Corrections de bogues¶
Correction d’un problème en mode d’exécution hybride (Avant-première privée) où
pd.to_datetimeetpd.to_timedeltadéclenchaient de manière inattendueIndexError.Correction d’un bogue à cause duquel
pd.explain_switchdéclencheIndexErrorou renvoieNones’il est appelé avant que toute opération de basculement potentielle soit effectuée.
Version 1.36.0 (5 août 2025)¶
Nouvelles fonctionnalités¶
Session.create_dataframeaccepte désormais des arguments de type mot-clé qui sont transmis dans l’appel interne àSession.write_pandasouSession.write_arrowlors de la création d’un DataFrame depuis un pandas DataFrame ou une tablepyarrow.Ajout de nouvelles APIs pour AsyncJob :
AsyncJob.is_failed()renvoie un valeur bool indiquant si la tâche est en échec. Peut être utilisé en combinaison avecAsyncJob.is_done()pour déterminer si une tâche est terminée et erronée.AsyncJob.status()renvoie une chaîne représentant l’état actuel de la requête (par exemple, « RUNNING », « SUCCESS », « FAILED_WITH_ERROR ») pour une surveillance détaillée sans appelerresult().
Ajout d’un profileur DataFrame. Pour l’utiliser, vous pouvez appeler
get_execution_profile()sur le DataFrame souhaité. Ce profileur rend compte des requêtes exécutées pour évaluer un DataFrame et les statistiques sur chacun des opérateurs de requête. Il s’agit actuellement d’une fonctionnalité expérimentale.Ajout de la prise en charge des fonctions suivantes dans
functions.py:ai_sentiment
Mise à jour de l’interface pour la fonctionnalité expérimentale
context.configure_development_features. Toutes les fonctions de développement sont désactivées par défaut, sauf si elles sont explicitement activées par l’utilisateur.
Améliorations¶
Améliorations de l’estimation des lignes de l’exécution hybride et réduction des appels exigeants.
Ajout d’une nouvelle variable de configuration pour contrôler les coûts de transfert hors de Snowflake lors de l’utilisation d’une exécution hybride.
Ajout de la prise en charge de la création des UDFs/UDTFs permanentes et immuables avec DataFrame/Série/GroupBy.apply, mappent et transforment en transmettant l’argument de mot-clé
snowflake_udf_params.Ajout de la prise en charge de
mapping np.uniquedans DataFrame et Entrées de séries en utilisantpd.unique.
Corrections de bogues¶
Correction d’un problème où le plugin Snowpark pandas se désactivait inconditionnellement
AutoSwitchBackendmême lorsque les utilisateurs l’avaient explicitement configuré de manière programmatique ou avec des variables d’environnement.
Version 1.35.0 (24 juillet 2025)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes dans
functions.py:ai_embedtry_parse_json
Améliorations¶
Amélioration du paramètre
querydansDataFrameReader.dbapi(Avant-première privée) pour que les parenthèses ne soient pas nécessaires autour de la requête.Amélioration de l’expérience d’erreur dans
DataFrameReader.dbapi(Avant-première privée) pour les exceptions levées lors de l’inférence du schéma de la source de données cible.
Corrections de bogues¶
Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée) qui fait échouerdbapiavec le code de sortie de processus 1 dans une procédure stockée Python.Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée) oùcustom_schemaaccepte un schéma illégal.Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée) oùcustom_schemane fonctionne pas lors de la connexion à Postgres et MySQL.Correction d’un bogue dans l’inférence de schéma qui l’entraînait à échouer pour les zones de préparation externes.
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge de tests locaux pour la lecture de fichiers avec
SnowflakeFile. La prise en charge des tests utilise des chemins de fichiers locaux, la sémantique Snow URL (snow://...), des zones de préparation de cadre de test local et des zones de préparation Snowflake (@stage/file_path).
Version 1.34.0 (14 juillet 2025)¶
Nouvelles fonctionnalités¶
Ajout d’une nouvelle option
TRY_CASTdansDataFrameReader. LorsqueTRY_CASTestTrue, les colonnes sont groupées dans unTRY_CASTau lieu d’une conversion matérielle lors du chargement des données.Ajout d’une nouvelle option
USE_RELAXED_TYPESauINFER_SCHEMA_OPTIONSdeDataFrameReader. Lorsqu’elle est définie surTrue, cette option convertit toutes les chaînes en chaînes de longueur maximale et tous les types numériques enDoubleType.Ajout d’améliorations de débogabilité pour valider immédiatement les métadonnées des schémas de dataframe. Activez-la en utilisant
snowflake.snowpark.context.configure_development_features().Ajout d’une nouvelle fonction
snowflake.snowpark.dataframe.map_in_pandasqui permet aux utilisateurs de mapper une fonction à travers un dataframe. La fonction de mappage prend un itérateur de pandas DataFrames en entrée et en fournit un en sortie.Ajout d’un
ttl cachepour décrire les requêtes. Les requêtes répétées dans un intervalle de 15 secondes utilisent la valeur mise en cache plutôt que d’interroger Snowflake.Ajout d’un paramètre
fetch_with_processdansDataFrameReader.dbapi(PrPr) pour activer le multitraitement pour la récupération de données en parallèle dans l’ingestion locale. Par défaut, l’ingestion locale utilise le multithreading. Le multitraitement peut améliorer les performances pour les tâches liées aux CPU, telles que la génération de fichiers Parquet.Ajout d’une nouvelle fonction
snowflake.snowpark.functions.modelqui permet aux utilisateurs de nommer les méthodes d’un modèle.
Améliorations¶
Ajout de la prise en charge de la validation des lignes à l’aide d’un schéma XSD utilisant l’option
rowValidationXSDPathlors de la lecture de fichiers XML avec une balise de ligne utilisant l’optionrowTag.Amélioration de la génération de SQL pour que
session.table().sample()génère une instruction SQL.Ajout de la prise en charge de l’expression de colonne complexe comme entrée pour
functions.explode.Ajout d’améliorations de débogabilité pour montrer à quelles lignes Python une erreur de compilation SQL correspond. Activez-le en utilisant
snowflake.snowpark.context.configure_development_features(). Cette fonctionnalité dépend également des collections AST à activer dans la session, ce qui peut être fait en utilisantsession.ast_enabled = True.Définissez
enforce_ordering=Truelors de l’appel deto_snowpark_pandas():code:à partir d’un DataFrame Snowpark contenant des requêtes DML/DDL au lieu de renvoyer uneNotImplementedError.
Corrections de bogues¶
Correction d’un bogue causé par une validation redondante lors de la création d’une table Iceberg.
Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée), où la fermeture du curseur ou de la connexion pouvait générer de manière inattendue une erreur et mettre fin au programme.Correction d’erreurs de colonnes ambiguës lors de l’utilisation de fonctions de table dans
DataFrame.select()dont les colonnes de sortie correspondent aux colonnes d’entrée du DataFrame. Cette amélioration fonctionne lorsque les colonnes DataFrame sont fournies sous la forme d’objetsColumn.Correction d’un bogue où le fait d’avoir une valeur NULL dans une colonne avec desDecimalTypes convertissait la colonne en FloatTypes, entraînant une perte de précision.
Mises à jour des tests locaux Snowpark¶
Correction d’un bogue lors du traitement des fonctions fenêtrées qui entraînait une indexation incorrecte des résultats.
Lorsqu’un numérique scalaire sera transmis à
fillna, Snowflake ignorera les colonnes non numériques au lieu de produire une erreur.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Prise en charge de
DataFrame.to_exceletSeries.to_excel.Prise en charge de
pd.read_feather,pd.read_orcetpd.read_stata.Ajout de la prise en charge de
pd.explain_switch()pour renvoyer des informations de débogage sur les décisions d’exécution hybride.Assistance
pd.read_snowflakelorsque le backend global modin estPandas.Prise en charge de
pd.to_dynamic_table,pd.to_icebergetpd.to_view.
Améliorations¶
Ajout de la télémétrie modin sur les appels API et les compartiments de moteur hybrides.
Afficher des messages d’erreur plus utiles aux utilisateurs de Snowflake Notebook lorsque les versions
modinoupandasne correspondent pas à nos exigences.Ajout d’une protection des types de données aux fonctions de coûts pour le mode d’exécution hybride (Avant-première privée) qui vérifie la compatibilité des types de données.
Ajout du basculement automatique vers le backend pandas en mode d’exécution hybride (Avant-première privée) pour de nombreuses méthodes qui ne sont pas directement implémentées dans pandas on Snowflake.
Définition du
typeet d’autres champs standard pour pandas sur la télémétrie Snowflake.
Mises à jour des dépendances¶
Ajout de
tqdmetipywidgetsen tant que dépendances afin que des barres de progression apparaissent lorsque l’utilisateur passe d’un backend à un autre.Mise à jour des versions
modinprises en charges vers >=0.33.0 et <0.35.0 (was previously >= 0.32.0 et <0.34.0).
Corrections de bogues¶
Correction d’un bogue dans le mode d’exécution hybride (Avant-première privée) où certaines opérations de séries généraient des
TypeError: numpy.ndarray object is not callable.Correction d’un bogue dans le mode d’exécution hybride (Avant-première privée) où l’appel d’opérations
numpycommenp.wheresur les objets modins avec le backend Pandas déclenchait uneAttributeError. Ce correctif nécessite la version 0.34.0 demodinou ultérieure.Correction d’un problème dans
df.meltoù les valeurs résultantes possédaient un suffixe supplémentaire appliqué.
Version 1.33.0 (2025-06-19)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge de MySQL dans
DataFrameWriter.dbapi(Avant-première privée) pour Parquet et l’ingestion basée sur les UDTF.Ajout de la prise en charge de PostgreSQL dans
DataFrameReader.dbapi(Avant-première privée) pour Parquet et l’ingestion basée sur les UDTF.Ajout de la prise en charge de Databricks dans
DataFrameWriter.dbapi(Avant-première privée) pour l’ingestion basée sur les UDTF, se renforçant avec d’autres mentions de la prise en charge de Databricks.Ajout de la prise en charge à
DataFrameReaderpour activer l’utilisation dePATTERNlors de la lecture de fichiers oùINFER_SCHEMAest activé.Ajout de la prise en charge des fonctions suivantes optimisées par l’AI dans:code:
functions.py:ai_completeai_similarityai_summarize_agg(à l’originesummarize_agg)différentes options de configuration pour
ai_classify
Ajout de la prise en charge de plus d’options lors de la lecture de fichiers XML avec une balise de ligne utilisant l’option
rowTag.Ajout de la prise en charge de la suppression des préfixes d’espace de noms des noms de colonnes à l’aide de l’option
ignoreNamespace.Ajout de la prise en charge de la spécification du préfixe de la colonne d’attributs dans la table de résultats à l’aide de l’option
attributePrefix.Ajout de la prise en charge de l’exclusion des attributs de l’élément XML utilisant l’option
excludeAttributes.Ajout de la prise en charge de la spécification du nom de colonne pour la valeur lorsqu’il y a des attributs dans un élément qui n’a pas d’éléments enfants utilisant l’option
valueTag.Ajout de la prise en charge de la spécification de la valeur à traiter comme une valeur nulle à l’aide de l’option
nullValue.Ajout de la prise en charge de la spécification de l’encodage des caractères pour le fichier XML à l’aide de l’option
charset.Ajout de la prise en charge du fait d’ignorer les espaces blancs environnants dans l’élément XML à l’aide de l’option
ignoreSurroundingWhitespace.
Ajout de la prise en charge du paramètre
return_dataframedansSession.call, qui peut être utilisé pour définir le type de renvoi des fonctions sur un objetDataFrame.Ajout d’un nouvel argument à
Dataframe.describeappeléstrings_include_math_stats, qui déclenche le calculstddevetmeanpour les colonnes de type chaîne.Ajout de la prise en charge de la récupération des
Edge.propertieslors de la récupération de la lignée deDGQLdansDataFrame.lineage.trace.Ajout d’un paramètre
table_existsdansDataFrameWriter.save_as_tablequi permet de spécifier si une table existe déjà. Cela permet d’ignorer une recherche dans la table qui peut s’avérer coûteuse.
Corrections de bogues¶
Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée) où lecreate_connectiondéfinie comme fonction locale était incompatible avec le multitraitement.Correction d’un bogue dans
DataFrameReader.dbapi(Avant-première privée) où le type DatabricksTIMESTAMPétait converti en type SnowflakeTIMESTAMP_NTZ, lequel devrait être de typeTIMESTAMP_LTZ.Correction d’un bogue dans
DataFrameReader.jsonoù des lectures répétées avec le même objet de lecteur créaient des colonnes mal citées.Correction d’un bogue dans
DataFrame.to_pandas()qui entraînait l’abandon des noms de colonnes lors de la conversion d’un DataFrame qui ne provient pas d’une instruction de sélection.Correction d’un bogue à cause duquel
DataFrame.create_or_replace_dynamic_tablesignalait une erreur lorsque le DataFrame contenait une UDTF etSELECT *dans la UDTF n’était pas analysé correctement.Correction d’un bogue où les colonnes converties ne pouvaient pas être utilisées dans la clause valeurs des fonctions.
Améliorations¶
Amélioration du message d’erreur pour
Session.write_pandas()etSession.create_dataframe()lorsque le pandas d’entrée DataFrame n’a pas de colonne.Amélioration de
DataFrame.selectlorsque les arguments contiennent une fonction de table avec des colonnes de sortie qui coïncident avec les colonnes du DataFrame actuel. Avec l’amélioration, si l’utilisateur fournit des colonnes non coïncidentes dansdf.select("col1", "col2", table_func(...))comme arguments de chaîne, la requête générée par le client Snowpark ne lèvera pas d’erreur de colonne ambiguë.Amélioration de
DataFrameReader.dbapi(Avant-première privée) pour utiliser l’ingestion en mémoire basée sur Parquet et améliorer les performances et la sécurité.Amélioration de
DataFrameReader.dbapi(Avant-première privée) pour utiliserMATCH_BY_COLUMN_NAME=CASE_SENSITIVEdans l’opération de copie dans la table.
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des URLs snow (
snow://) dans le test de fichier local.
Corrections de bogues¶
Correction d’un bogue dans
Column.isinqui entraînait un filtrage incorrect des données jointes ou précédemment filtrées.Correction d’un bogue dans :code:`snowflake.snowpark.functions.concat_ws`ce qui entraînait un index incorrect des résultats.
Mises à jour de l’API pandas Snowpark¶
Mises à jour des dépendances¶
Mise à jour de la contrainte de dépendance de
modinde 0.32.0 à >=0.32.0, <0.34.0. La dernière version testée avec Snowpark pandas estmodin0.33.1.
Nouvelles fonctionnalités¶
Ajout de la prise en charge de l’Exécution hybride (Avant-première privée). En exécutant
from modin.config import AutoSwitchBackend; AutoSwitchBackend.enable(), pandas on Snowflake choisit automatiquement d’exécuter certaines opérations pandas localement ou sur Snowflake. Cette fonction est désactivée par défaut.
Améliorations¶
Définition de la valeur par défaut du paramètre
indexsur:code:FalsepourDataFrame.to_view,Series.to_view,DataFrame.to_dynamic_tableetSeries.to_dynamic_table.Ajout de l’option
iceberg_versionaux fonctions de création de table.Réduction du nombre de requêtes pour de nombreuses opérations, dont:code:
insert,repretgroupby, qui émettaient précédemment une requête pour récupérer la taille des données d’entrée.
Corrections de bogues¶
Correction d’un bogue dans
Series.wherelorsque le paramètreotherest unSeriessans nom.
Version 1.32.0 (2025-05-15)¶
Améliorations¶
L’invocation des procédures du système Snowflake n’entraîne pas d’appel supplémentaire à
describe procedurepour vérifier le type de retour de la procédure.Ajout de la prise en charge de
Session.create_dataframe()avec l’URL de la zone de préparation et le type de donnéesFILE.Prise en charge de différents modes de traitement des enregistrements XML corrompus lors de la lecture d’un fichier XML à l’aide de
session.read.option('mode', <mode>), option('rowTag', <tag_name>).xml(<stage_file_path>). Actuellement,PERMISSIVE,DROPMALFORMEDetFAILFASTsont pris en charge.Amélioration du message d’erreur du lecteur XML lorsque
ROWTAGspécifié n’est pas trouvé dans le fichier.Amélioration de la génération de requêtes pour
Dataframe.dropafin d’utiliserSELECT * EXCLUDE ()pour exclure les colonnes supprimées. Pour activer cette fonction, définissezsession.conf.set("use_simplified_query_generation", True).Ajout de la prise en charge de
VariantTypeàStructType.from_json.
Corrections de bogues¶
Correction d’un bogue dans
DataFrameWriter.dbapi(Aperçu privé) où les noms de colonnes unicode ou entre guillemets doubles dans les bases de données externes provoquent des erreurs parce qu’ils ne sont pas cités correctement.Correction d’un bogue où les champs nommés dans les données imbriquées de
OBJECTpouvaient provoquer des erreurs lorsqu’ils contenaient des espaces.
Mises à jour des tests locaux Snowpark¶
Corrections de bogues¶
Correction d’un bogue dans
snowflake.snowpark.functions.rankqui ne respectait pas le sens du tri.Correction d’un bogue dans
snowflake.snowpark.functions.to_timestamp_*qui provoquait des résultats incorrects sur les données filtrées.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Prise en charge des valeurs dict dans
Series.str.get,Series.str.sliceetSeries.str.__getitem__(Series.str[...]).Ajout de la prise en charge de
DataFrame.to_html.Prise en charge de
DataFrame.to_stringetSeries.to_string.Ajout de la prise en charge de la lecture de fichiers à partir de compartiments S3 à l’aide de
pd.read_csv.
Améliorations¶
Faites de
iceberg_configun paramètre obligatoire pourDataFrame.to_icebergetSeries.to_iceberg.
Version 1.31.0 (2025-04-24)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge de l’autorisation
restricted callerde l’argumentexecute_asdansStoredProcedure.register():code:.Prise en charge des instructions de non-sélection dans
DataFrame.to_pandas().La prise en charge du paramètre
artifact_repositorya été ajoutée àSession.add_packages,Session.add_requirements,Session.get_packages,Session.remove_packageetSession.clear_packages.Ajout de la prise en charge de la lecture d’un fichier XML à l’aide d’une balise de ligne par
session.read.option('rowTag', <tag_name>).xml(<stage_file_path>)(expérimental).Chaque enregistrement XML est extrait sous la forme d’une ligne distincte.
Chaque champ de cet enregistrement devient une colonne distincte de type
VARIANT, qui peut faire l’objet d’une requête à l’aide de la notation par points, par exemplecol(a.b.c).
Ajout de mises à jour sur
DataFrameReader.dbapi(PrPr) :Le paramètre
fetch_merge_counta été ajouté pour optimiser les performances en fusionnant plusieurs données dans un seul fichier Parquet.Ajout de la prise en charge de Databricks.
Ajout de la prise en charge de l’ingestion avec Snowflake UDTF.
Ajout de la prise en charge des fonctions suivantes, activées par AI, dans
functions.py(Aperçu privé) :promptai_filter(ajout de la prise en charge de la fonctionprompt()et des fichiers image, et modification du nom du deuxième argument deexpràfile)ai_classify
Améliorations¶
Changement de nom du paramètre
relaxed_orderingenenforce_orderingpourDataFrame.to_snowpark_pandas. De même, la nouvelle valeur par défaut estenforce_ordering=False, ce qui a l’effet inverse de la valeur par défaut précédente,relaxed_ordering=False.Amélioration des performances de lecture de
DataFrameReader.dbapi(PrPr) en définissant la valeur par défaut du paramètrefetch_sizesur 1000.Améliorez le message d’erreur pour l’erreur d’identificateur SQL non valide en suggérant les identificateurs potentiellement correspondants.
Réduction du nombre de requêtes de description émises lors de la création d’un DataFrame à partir d’une table Snowflake à l’aide de
session.table.Amélioration des performances et de la précision de
DataFrameAnalyticsFunctions.time_series_agg().
Corrections de bogues¶
Correction d’un bogue dans
DataFrame.group_by().pivot().agglorsque la colonne pivot et la colonne agrégée sont identiques.Correction d’un bogue dans
DataFrameReader.dbapi(PrPr) où une erreurTypeErrorétait soulevée lorsquecreate_connectionrenvoyait un objet de connexion d’un type de pilote non pris en charge.Correction d’un bogue où l’appel à
df.limit(0)ne s’appliquait pas correctement.Correction d’un bogue dans
DataFrameWriter.save_as_tablequi provoquait des erreurs dans les noms réservés lors de l’utilisation du mode append.
Dépréciations¶
Prise en charge obsolète de Python3.8.
Argument déprécié
sliding_intervaldansDataFrameAnalyticsFunctions.time_series_agg().
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge de l’expression Interval à
Window.range_between.Ajout de la prise en charge de la fonction
array_construct.
Corrections de bogues¶
Correction d’un bogue dans les tests locaux où le répertoire transitoire
__pycache__était copié involontairement pendant l’exécution de la procédure stockée via l’importation.Correction d’un bogue dans les tests locaux qui créait des résultats incorrects pour les appels à
Column.like.Correction d’un bogue dans les tests locaux qui faisait que
Column.getItemetsnowpark.snowflake.functions.getrenvoyaientIndexErrorau lieu denull.Correction d’un bogue dans les tests locaux où l’appel à
df.limit(0)ne s’appliquait pas correctement.Correction d’un bogue dans les tests locaux où un
Table.mergedans une table vide provoquait une exception.
Mises à jour de l’API pandas Snowpark¶
Mises à jour des dépendances¶
Mise à jour de
modinde 0.30.1 à 0.32.0.Ajout de la prise en charge de
numpy2.0 et plus.
Nouvelles fonctionnalités¶
Prise en charge de
DataFrame.create_or_replace_viewetSeries.create_or_replace_view.Prise en charge de
DataFrame.create_or_replace_dynamic_tableetSeries.create_or_replace_dynamic_table.Prise en charge de
DataFrame.to_viewetSeries.to_view.Prise en charge de
DataFrame.to_dynamic_tableetSeries.to_dynamic_table.Ajout de la prise en charge de
DataFrame.groupby.resamplepour les agrégationsmax,mean,median,minetsum.Ajout de la prise en charge de la lecture des fichiers de zone de préparation avec :
pd.read_excelpd.read_htmlpd.read_picklepd.read_saspd.read_xml
Prise en charge de
DataFrame.to_icebergetSeries.to_iceberg.Prise en charge des valeurs dict dans
Series.str.len.
Améliorations¶
Améliorez les performances de
DataFrame.groupby.applyetSeries.groupby.applyen évitant les étapes de pivot coûteuses.Ajout d’une estimation de la limite supérieure du nombre de lignes à
OrderedDataFramepour permettre un meilleur changement de moteur. Il pourrait en résulter une augmentation du nombre de requêtes.Changement de nom du paramètre
relaxed_orderingenenforce_orderingavecpd.read_snowflake. En outre, la nouvelle valeur par défaut estenforce_ordering=False, ce qui a l’effet inverse de la valeur par défaut précédente,relaxed_ordering=False.
Corrections de bogues¶
Correction d’un bogue pour
pd.read_snowflakelors de la lecture des tables d’icebergs etenforce_ordering=True.
Version 1.30.0 (2025-03-27)¶
Nouvelles fonctionnalités¶
Prise en charge des garanties de cohérence et d’ordre relâchées dans
Dataframe.to_snowpark_pandasen introduisant le paramètrerelaxed_ordering.DataFrameReader.dbapi(aperçu) accepte désormais une liste de chaînes pour le paramètresession_init_statement, ce qui permet d’exécuter plusieurs instructions SQL lors de l’initialisation de la session.
Améliorations¶
Amélioration de la génération de requêtes pour
Dataframe.stat.sample_byafin de générer une seule requête plate qui s’adapte bien à un large dictionnairefractionspar rapport à l’ancienne méthode qui consistait à créer une sous-requête UNION ALL pour chaque clé dansfractions. Pour activer cette fonction, définissezsession.conf.set("use_simplified_query_generation", True).Amélioration des performances de
DataFrameReader.dbapien activant l’option vectorisée lors de la copie d’un fichier parquet dans une table.La génération de requêtes pour
DataFrame.random_splita été améliorée de la manière suivante. Elles peuvent être activées en définissantsession.conf.set("use_simplified_query_generation", True):Suppression de la nécessité de
cache_resultdans l’implémentation interne de l’image de données d’entrée, ce qui permet une opération d’image de données paresseuse.L’argument
seedse comporte désormais comme prévu, avec des résultats reproductibles sur plusieurs appels et sessions.
DataFrame.fillnaetDataFrame.replacepermettent désormais de faire rentrerintetfloatdans les colonnes deDecimalsiinclude_decimalest défini surTrue.Ajout de la documentation pour les UDF et les fonctions de procédure stockée suivantes dans
files.pysuite à leur disponibilité générale.SnowflakeFile.writeSnowflakeFile.writelinesSnowflakeFile.writeable
Changements mineurs dans la documentation pour
SnowflakeFileetSnowflakeFile.open().
Corrections de bogues¶
Correction d’un bogue pour les fonctions suivantes qui soulevaient des erreurs.
.cast()est appliqué à leur sortie :from_jsonsize
Mises à jour des tests locaux Snowpark¶
Corrections de bogues¶
Correction d’un bogue dans l’agrégation qui faisait que des groupes vides produisaient encore des lignes.
Correction d’un bogue dans
Dataframe.except_qui provoquait la suppression incorrecte des lignes.Correction d’un bogue qui provoquait l’échec de
to_timestamplors de la conversion de colonnes filtrées.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des valeurs de liste dans
Series.str.__getitem__(Series.str[...]).Ajout de la prise en charge des objets
pd.Grouperdans les opérations GROUP BY. Lorsquefreqest spécifié, les valeurs par défaut des argumentssort,closed,labeletconventionsont prises en charge ;originest pris en charge lorsqu’il s’agit destartoustart_day.Prise en charge des garanties de cohérence et d’ordre relâchées dans
pd.read_snowflakepour les sources de données nommées (par exemple, les tables et les vues) et les sources de données des requêtes, grâce à l’introduction du nouveau paramètrerelaxed_ordering.
Améliorations¶
Émission d’un avertissement lorsque
QUOTED_IDENTIFIERS_IGNORE_CASEest défini, demander à l’utilisateur de le désactiver.Amélioration de la manière dont un
index_labelmanquant dansDataFrame.to_snowflakeetSeries.to_snowflakeest traité lorsqueindex=True. Au lieu d’afficherValueError, des étiquettes définies par le système sont utilisées pour les colonnes d’index.Amélioration du message d’erreur pour
groupby,DataFrameouSeries.agglorsque le nom de la fonction n’est pas pris en charge.
Mises à jour des tests locaux Snowpark¶
Améliorations¶
Émission d’un avertissement lorsque
QUOTED_IDENTIFIERS_IGNORE_CASEest défini, demander à l’utilisateur de le désactiver.Amélioration de la manière dont un
index_labelmanquant dansDataFrame.to_snowflakeetSeries.to_snowflakeest traité lorsqueindex=True. Au lieu d’afficherValueError, des étiquettes définies par le système sont utilisées pour les colonnes d’index.Amélioration du message d’erreur pour
groupby or DataFrame or Series.agglorsque le nom de la fonction n’est pas pris en charge.
Version 1.29.1 (2025-03-12)¶
Corrections de bogues¶
Correction d’un bogue dans
DataFrameReader.dbapi(aperçu privé) qui empêche l’utilisation dans les procédures stockées et les Snowbooks.
Version 1.29.0 (2025-03-05)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes, activées par AI, dans
functions.py(Aperçu privé) :ai_filterai_aggsummarize_agg
Ajout de la prise en charge du nouveau type FILE SQL, avec les fonctions connexes suivantes dans
functions.py(Aperçu privé) :
fl_get_content_type
fl_get_etag
fl_get_file_type
fl_get_last_modified
fl_get_relative_path
fl_get_scoped_file_url
fl_get_size
fl_get_stage
fl_get_stage_file_url
fl_is_audio
fl_is_compressed
fl_is_document
fl_is_image
fl_is_videoAjout de la prise en charge de l’importation de paquets tiers depuis PyPi avec Artifact Repository (Aperçu privé) :
Utiliser des arguments de mots-clés
artifact_repositoryetpackagespour spécifier respectivement votre référentiel d’artefacts et vos paquets lors de l’enregistrement de procédures stockées ou de fonctions définies par l’utilisateur.Les APIs prises en charge sont :
Session.sproc.register
Session.udf.register
Session.udaf.register
Session.udtf.register
functions.sproc
functions.udf
functions.udaf
functions.udtf
functions.pandas_udf
functions.pandas_udtf
Améliorations¶
Amélioration des avertissements de validation de version pour la compatibilité avec le paquet
snowflake-snowpark-pythonlors de l’enregistrement des procédures stockées. Désormais, les avertissements ne sont déclenchés que si la version majeure ou mineure ne correspond pas, tandis que les différences de version ne génèrent plus d’avertissements.Augmentation de la dépendance de cloudpickle pour prendre en charge
cloudpickle==3.0.0en plus des versions précédentes.
Corrections de bogues¶
Correction d’un bogue où la création d’un Dataframe avec un grand nombre de valeurs soulevait l’erreur
Unsupported feature 'SCOPED_TEMPORARY'.si la session thread-safe était désactivée.Correction d’un bogue à cause duquel
df.describesoulevait une erreur d’exécution interne de SQL lorsque DataFrame était créé à partir de la lecture d’un fichier de zone de préparation et que l’optimisation de CTE était activée.Correction d’un bogue à cause duquel
df.order_by(A).select(B).distinct()générait des SQL invalides lorsque la génération de requêtes simplifiées était activée à l’aide desession.conf.set("use_simplified_query_generation", True).
La génération de requêtes simplifiées est désactivée par défaut.
Mises à jour de l’API pandas Snowpark¶
Améliorations¶
Amélioration du message d’erreur pour
pd.to_snowflake,DataFrame.to_snowflakeetSeries.to_snowflakelorsque la table n’existe pas.Améliorez la lisibilité de docstring pour le paramètre
if_existsdanspd.to_snowflake,DataFrame.to_snowflakeetSeries.to_snowflake.Amélioration du message d’erreur pour toutes les fonctions pandas qui utilisent des UDFs avec des objets Snowpark.
Corrections de bogues¶
Correction d’un bogue dans
Series.rename_axisoù unAttributeErrorétait soulevé.Correction d’un bogue à cause duquel
pd.get_dummiesn’ignorait pas les valeurs NULL/NaN par défaut.Correction d’un bogue où des appels répétés à
pd.get_dummiesentraînaient une « erreur de nom de colonne dupliqué ».Correction d’un bogue dans
pd.get_dummiesoù le passage d’une liste de colonnes générait des annonces de colonnes incorrectes dans la sortie DataFrame.Mise à jour de
pd.get_dummiespour renvoyer des valeurs bool au lieu de int.
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des valeurs littérales dans la fonction de fenêtre
range_between.
Version 1.28.0 (2025-02-20)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes dans
functions.pynormalrandn
Ajout de la prise en charge du paramètre
allow_missing_columnsàDataframe.union_by_nameetDataframe.union_all_by_name.
Améliorations¶
Amélioration de la génération de noms d’objets aléatoires pour éviter les collisions.
Amélioration de la génération de requêtes pour
Dataframe.distinctafin de générer SELECT DISTINCT au lieu de SELECT avec GROUP BY toutes les colonnes. Pour désactiver cette fonction, définissezsession.conf.set("use_simplified_query_generation", False).
Dépréciations¶
Fonction Snowpark Python obsolète
snowflake_cortex_summarize. Les utilisateurs peuvent installersnowflake-ml-pythonet utiliser la fonctionsnowflake.cortex.summarizeà la place.Fonction Snowpark Python obsolète
snowflake_cortex_sentiment. Les utilisateurs peuvent installersnowflake-ml-pythonet utiliser la fonctionsnowflake.cortex.sentimentà la place.
Corrections de bogues¶
Correction d’un bogue où la balise de requête au niveau de la session était remplacée par une trace de pile pour DataFrames qui génère plusieurs requêtes. Désormais, la balise de requête ne sera définie avec la trace de pile que si
session.conf.set("collect_stacktrace_in_query_tag", True).Correction d’un bogue dans
Session._write_pandasqui passait par erreur le paramètreuse_logical_typeàSession._write_modin_pandas_helperlors de l’écriture d’un objet pandas Snowpark.Correction d’un bogue dans la génération des options SQL qui pouvait entraîner un formatage incorrect des valeurs multiples.
Correction d’un bogue dans
Session.catalogoù les chaînes vides pour la base de données ou le schéma n’étaient pas gérées correctement et généraient des instructions SQL erronées.
Fonctions expérimentales¶
Ajout de la prise en charge pour l’écriture de tables pyarrow vers des tables Snowflake.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge pour appliquer les fonctions Snowflake Cortex
SummarizeetSentiment.Ajout de la prise en charge des valeurs de liste dans
Series.str.get.
Corrections de bogues¶
Correction d’un bogue dans
applyoù les kwargs n’étaient pas correctement passés dans la fonction appliquée.
Mises à jour des tests locaux Snowpark¶
Nouvelles fonctionnalités¶
- Ajout de la prise en charge des fonctions suivantes
hourminute
Ajout de la prise en charge du paramètre NULL_IF par le lecteur CSV.
Ajout de la prise en charge des options
date_format,datetime_formatettimestamp_formatlors du chargement de CSVs.
Corrections de bogues¶
Correction d’un bogue dans
DataFrame.joinqui provoquait une mauvaise saisie des colonnes.Correction d’un bogue dans les instructions
whenqui entraînait des résultats incorrects dans la clauseotherwise.
Version 1.27.0 (2025-02-05)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes dans functions.py :
array_reversedivnullmap_catmap_contains_keymap_keysnullifzerosnowflake_cortex_sentimentacoshasinhatanhbit_lengthbitmap_bit_positionbitmap_bucket_numberbitmap_construct_aggcbrtequal_nullfrom_jsonifnulllocaltimestampmax_bymin_bynth_valuenvloctet_lengthpositionregr_avgxregr_avgyregr_countregr_interceptregr_r2regr_sloperegr_sxxregr_sxyregr_syytry_to_binarybase64base64_decode_stringbase64_encodeeditdistancehexhex_encodeinstrlog1plog2log10percentile_approxunbase64Ajout de la prise en charge de la spécification d’une chaîne de schéma (y compris la syntaxe struct implicite) lors de l’appel de
DataFrame.create_dataframe.Ajout de la prise en charge de
DataFrameWriter.insert_into/insertInto. Cette méthode prend également en charge le mode de test local.Ajout de la prise en charge de
DataFrame.create_temp_viewpour créer une vue temporaire. L’opération échouera si la vue existe déjà.Ajout de la prise en charge de plusieurs colonnes dans les fonctions
map_catetmap_concat.Ajout d’une option
keep_column_orderpour conserver l’ordre original des colonnes dansDataFrame.with_columnetDataFrame.with_columns.Ajout d’options aux conversions de colonnes qui permettent de renommer ou d’ajouter des champs dans les colonnes
StructType.Ajout de la prise en charge de
contains_null parameteràArrayType.Ajout de la prise en charge de la création d’une vue temporaire via
DataFrame.create_or_replace_temp_viewà partir d’un DataFrame créé par la lecture d’un fichier depuis une zone de préparation.Ajout de la prise en charge du paramètre
value_contains_nullàMapType.Ajout d”« interactif » à la télémétrie qui indique si l’environnement actuel est interactif.
Autorisation de
session.file.getdans une Native App à lire les chemins d’accès aux fichiers commençant par / à partir de la version actuelle.Ajout de la prise en charge de plusieurs fonctions d’agrégation après
DataFrame.pivot.
Fonctions expérimentales¶
Ajout de la classe
Session.catalogpour la gestion des objets Snowflake. Vous pouvez y accéder viaSession.catalog.snowflake.coreest une dépendance nécessaire à cette fonction.
Autoriser les schémas d’entrée de l’utilisateur ou les schémas d’entrée de l’utilisateur lors de la lecture du fichier JSON sur la zone de préparation.
Ajout de la prise en charge de la spécification d’une chaîne de schéma (y compris la syntaxe struct implicite) lors de l’appel de
DataFrame.create_dataframe.
Améliorations¶
Mise à jour de
README.mdde sorte à inclure des instructions sur la façon de vérifier les signatures des paquets à l’aide decosign.
Corrections de bogues¶
Correction d’un bogue dans le mode de test local qui faisait qu’une colonne contenait None alors qu’elle aurait dû contenir 0.
Correction d’un bogue dans
StructField.from_jsonqui empêchait l’analyse correcte deTimestampTypesavectzinfo.Correction d’un bogue dans
function date_formatqui provoquait une erreur lorsque la colonne d’entrée était de type date ou horodatage.Correction d’un bogue dans DataFrame qui permettait d’insérer des valeurs nulles dans une colonne non annulable.
Correction d’un bogue dans les fonctions
replaceetlitqui provoquait une erreur d’assertion d’indication de type lors du passage d’objets d’expression de colonne.Correction d’un bogue dans
pandas_udfetpandas_udtfoù les paramètres de session étaient ignorés par erreur.Correction d’un bogue qui provoquait une erreur de conversion de type pour les fonctions du système appelées par l’intermédiaire de
session.call.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Prise en charge de
Series.str.ljustetSeries.str.rjust.Ajout de la prise en charge de
Series.str.center.Ajout de la prise en charge de
Series.str.pad.Ajout de la prise en charge de l’application de la fonction Snowpark Python
snowflake_cortex_sentiment.Ajout de la prise en charge de
DataFrame.map.Prise en charge de
DataFrame.from_dictetDataFrame.from_records.Ajout de la prise en charge des noms de champ en casse mixte dans les colonnes de type struct.
Ajout de la prise en charge de
SeriesGroupBy.unique.Ajout de la prise en charge de
Series.dt.strftimeavec les directives suivantes :%d : jour du mois sous forme de nombre décimal complété par des zéros.
%m : mois sous forme de nombre décimal complété par des zéros.
%Y : année avec le siècle sous forme de nombre décimal.
%H : heure (horloge de 24 heures) sous forme de nombre décimal complété par des zéros.
%M : minute sous forme de nombre décimal complété par des zéros.
%S : seconde sous forme de nombre décimal complété par des zéros.
%f : microseconde sous forme de nombre décimal complété par des zéros jusqu’à 6 chiffres.
%j : jour de l’année sous forme de nombre décimal complété par des zéros.
%X : représentation appropriée du temps conformément aux paramètres régionaux.
%% : caractère « % » littéral.
Ajout de la prise en charge de
Series.between.Ajout de la prise en charge de
include_groups=FalsedansDataFrameGroupBy.apply.Ajout de la prise en charge de
expand=TruedansSeries.str.split.Prise en charge de
DataFrame.popetSeries.pop.Prise en charge de
firstetlastdansDataFrameGroupBy.aggetSeriesGroupBy.agg.Ajout de la prise en charge de
Index.drop_duplicates.Ajout de la prise en charge des agrégations
"count","median",np.median,"skew","std",np.std"var"etnp.vardanspd.pivot_table(),DataFrame.pivot_table()etpd.crosstab().
Améliorations¶
Amélioration des performances des méthodes
DataFrame.map,Series.applyetSeries.mapen mappant les fonctions numpy avec les fonctions Snowpark si possible.Ajout de documentation pour
DataFrame.map.Amélioration des performances de
DataFrame.applyen mappant les fonctions numpy avec les fonctions Snowpark si possible.Ajout d’une documentation sur l’étendue de l’interopérabilité de Snowpark pandas avec scikit-learn.
Inférence du type de renvoi des fonctions dans
Series.map,Series.applyetDataFrame.mapsi l’indice de type n’est pas fourni.Ajout de
call_countà la télémétrie qui compte les appels de méthode, y compris les appels de protocole d’échange.