Comment récupérer efficacement des colonnes avec des correspondances de chaînes partielles dans des DataFrames ?

DDD
Libérer: 2024-10-20 14:02:02
original
531 Les gens l'ont consulté

How to Efficiently Retrieve Columns with Partial String Matches in DataFrames?

Récupérer efficacement des colonnes avec des correspondances de chaînes partielles

Dans le domaine de la manipulation de données, trouver une colonne spécifique dans un dataframe peut être une nécessité courante . Cependant, que se passe-t-il si vous devez rechercher un modèle particulier dans les noms de colonnes mais ignorer les correspondances exactes ? Par exemple, si vous avez des noms comme « spike-2 », « hey Spike » et « spike-in » et que vous souhaitez localiser une colonne contenant « spike », vous risquez de rencontrer des obstacles.

Problème :

Identifier une colonne dont le nom contient une chaîne spécifiée, même s'il ne s'agit pas d'une correspondance exacte, peut être difficile.

Solution :

Pour surmonter ce problème, utilisez une boucle complète dans les colonnes du dataframe, en examinant chaque nom pour la chaîne souhaitée. Ceci peut être réalisé avec une compréhension de liste :

<code class="python">[col for col in df.columns if 'spike' in col]</code>
Copier après la connexion

Cet extrait génère une liste comprenant tous les noms de colonnes qui répondent à la condition spécifiée.

Exemple :

Considérez le dataframe suivant :

<code class="python">data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)
spike_cols = [col for col in df.columns if 'spike' in col]</code>
Copier après la connexion

Sortie :

['spike-2', 'spiked-in']
Copier après la connexion

Approche alternative :

Pour une solution plus concise, envisagez en utilisant la méthode de filtrage :

<code class="python">df2 = df.filter(regex='spike')</code>
Copier après la connexion

Cette approche aboutit à une trame de données contenant uniquement les colonnes qui satisfont à la condition d'expression régulière spécifiée :

   spike-2  spiked-in
0        1          7
1        2          8
2        3          9
Copier après la connexion

En appliquant ces techniques, vous pouvez récupérer efficacement les colonnes dans une trame de données, même lorsque leurs noms ne correspondent pas exactement à une chaîne souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!