Extraction de données
Résolu
RomainGA
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
RomainGA Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
RomainGA Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Input:
Output:
J'ai pour missions d'afficher le nombre de "RT" et d'afficher le pseudo marqué juste après le "@"
pourriez vous m'indiquez comment faire.
Cordialement.
Romain.
Input:
#nombre de RT
message=data['full_text']
message.head(5)
Output:
0 RT @chaeyeonbot: Congratulations to DIA's Mann...
1 RT @infoCinelandia: These are the Latin Americ...
2 RT @GMA: "I owe this, and so much more, to so ...
3 RT @infoCinelandia: These are the Latin Americ...
4 @KobeBryant and @GlenKeanePrd, winners of the ...
Name: full_text, dtype: object
J'ai pour missions d'afficher le nombre de "RT" et d'afficher le pseudo marqué juste après le "@"
pourriez vous m'indiquez comment faire.
Cordialement.
Romain.
A voir également:
- Extraction de données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Reinstaller windows sans perte de données - Guide
- Sauvegarde des données - Guide
2 réponses
Ah, j'ai failli oublié de vous prévenir:
je penses qu'il faut utilisé la fonction count() mais je n'arrive pas a l'employé.
Merci.
je penses qu'il faut utilisé la fonction count() mais je n'arrive pas a l'employé.
Merci.
Bonjour.
D'où viennent ces données ? Avec quel module python ?
En partant de la chaîne de sortie.
Une simple utilisation de str.find sur le @ et le : avec un slice permet de récupérér le pseudo.
Mais la solution de regarder s'il y a un RT dans la ligne n'est pas très sûre puisque cette chaîne de caractères peut se trouver dans un message.
Il faudrait mieux éclater la ligne avec str.split et regarder si le 2nd élément vaut RT.
Et pour enlever les carcatères @ et : du pseudo, un str.strip suffira.
D'où viennent ces données ? Avec quel module python ?
En partant de la chaîne de sortie.
>>> s = '''0 RT @chaeyeonbot: Congratulations to DIA's Mann... ... 1 RT @infoCinelandia: These are the Latin Americ... ... 2 RT @GMA: "I owe this, and so much more, to so ... ... 3 RT @infoCinelandia: These are the Latin Americ... ... 4 @KobeBryant and @GlenKeanePrd, winners of the ...''' >>> >>> s.count('RT') 4 >>> for ligne in s.splitlines(): ... if 'RT' in ligne: ... pseudo = ligne[ligne.find('@')+1:ligne.find(':')] ... print(pseudo) ... chaeyeonbot infoCinelandia GMA infoCinelandia
Une simple utilisation de str.find sur le @ et le : avec un slice permet de récupérér le pseudo.
Mais la solution de regarder s'il y a un RT dans la ligne n'est pas très sûre puisque cette chaîne de caractères peut se trouver dans un message.
Il faudrait mieux éclater la ligne avec str.split et regarder si le 2nd élément vaut RT.
Et pour enlever les carcatères @ et : du pseudo, un str.strip suffira.
Merci pour cette réponse très complète.
les données proviennent d'un json placé sur mon ordi (cf data)
Cordialement.
Romain.
les données proviennent d'un json placé sur mon ordi (cf data)
import pandas as pd
pd.set_option('display.height', 10000)
pd.set_option('display.max_rows', 5000)
pd.set_option('display.max_columns', 5000)
pd.set_option('display.width', 10000)
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
import warnings
warnings.filterwarnings("ignore")
import json
from datetime import datetime
data = pd.read_json(r'C:\Users\Romain\Downloads\file_2018-3-23-13.json')
datas = (pd.DataFrame.from_dict(data, orient='columns'))
datas
Cordialement.
Romain.