Recherche de colonnes avec des correspondances de chaînes partielles
Interroger un DataFrame pour les colonnes contenant une chaîne spécifique peut être une opération utile. Cependant, que se passe-t-il si la correspondance n’est pas exacte mais contient une certaine sous-chaîne ? C'est là que le filtre regex entre en jeu.
Pour localiser les colonnes dont les noms contiennent une chaîne spécifique, en particulier une sous-chaîne continue, envisagez la solution suivante :
<code class="python">import pandas as pd # Create a DataFrame to demonstrate data = {'spike-2': [1, 2, 3], 'hey spke': [4, 5, 6], 'spiked-in': [7, 8, 9], 'no': [10, 11, 12]} df = pd.DataFrame(data) # Use regex filter to select columns with 'spike' substring spike_cols = df.filter(regex='spike').columns.tolist() # Print the column names with the matching substring print(spike_cols)</code>
Ce code parcourt le Les colonnes de DataFrame utilisent la compréhension de liste et applique le filtre regex pour rechercher les colonnes avec la sous-chaîne « spike ». La liste résultante des noms de colonnes est ensuite stockée dans la variable Spike_cols, qui peut être utilisée pour accéder aux colonnes correspondantes selon les besoins.
Une autre approche consiste à convertir les noms de colonnes en liste et à les parcourir, en testant chacun nom d'une correspondance de sous-chaîne à l'aide d'une boucle for et d'une instruction if :
<code class="python"># Column names converted to a list col_list = list(df.columns) # Iterate over the column names for col in col_list: if 'spike' in col: # Column name with matching substring found print(col)</code>
En utilisant ces méthodes, vous pouvez identifier et accéder efficacement aux colonnes d'un DataFrame dont les noms contiennent une chaîne spécifique, même s'il ne s'agit pas d'une correspondance exacte.
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!