Méthode d'extraction de données par lots à l'aide d'expressions régulières de Series

Extraction de caractères de Seirie par expression régulière

Comment extraire uniquement les chaînes de caractères requises par les expressions régulières à partir de fichiers qui ne peuvent pas être lus avec les délimiteurs "," comme indiqué ci-dessous dans les pandas et les transformer en DataFrame

Si vous lisez les exemples de données ci-dessous tels quels, une erreur se produira car le nombre de colonnes est différent.

test.csv


value1=12333,value2(fuga,hoge),value3=fuga
value1=111,value2(hoge),value3=fugahoge

Lors de la lecture, lisez d'abord une ligne de données.

In[2]: import pandas as pd
In[3]: df = pd.read_csv('test.csv',header=None,sep='\t')
In[4]: df
Out[4]: 
                                            0
0  value1=12333,value2(fuga,hoge),value3=fuga
1     value1=111,value2(hoge),value3=fugahoge

Utilisez Series.str.extract () pour fractionner avec une expression régulière.

In[5]: df[0].str.extract('value1=(?P<val1>\d+),value2\((?P<val2>[\w,]+)\),value3=(?P<val3>.*)')
Out[5]: 
    val1       val2      val3
0  12333  fuga,hoge      fuga
1    111       hoge  fugahoge

Le nom de la colonne peut être spécifié dans la partie de "? P \ ", qui est la valeur réellement extraite du contenu de "()". S'il n'est pas spécifié, les numéros seront attribués dans l'ordre depuis le début.

De plus, étant donné que la valeur extraite est retournée en tant qu'objet, il est nécessaire de la changer en un type int ou similaire selon le cas.

référence

http://sinhrks.hatenablog.com/entry/2014/12/06/233032

Recommended Posts

Méthode d'extraction de données par lots à l'aide d'expressions régulières de Series
Méthode de correspondance d'expression régulière
Classer les données par la méthode k-means
10 sélections d'extraction de données par pandas.DataFrame.query
Rechercher une clé de dictionnaire pythondict par expression régulière
Obtenez des données de séries chronologiques de k-db.com avec Python
Résumé de la méthode Kaggle's Kernel [Table time series data]
[Dernière méthode] Visualisation des données de séries chronologiques et extraction de modèles fréquents à l'aide du profil Pan-Matrix