Sunteți pe pagina 1din 8

Setul de date "Online News Popularity" include diferite caracteristici ale articolelor de știri online, cum

ar fi numărul de cuvinte din titlu (n_tokens_title), numărul de cuvinte din conținut (n_tokens_content),
numărul de linkuri (num_hrefs), numărul de imagini (num_imgs), polaritatea și subiectivitatea titlului,
precum și alte metrici legate de conținutul și structura articolelor. Colona finală, shares, pare să
reprezinte numărul de distribuiri ale fiecărui articol, ceea ce ar putea fi un indicator al popularității
acestora.

Ex1 :

Scopul Codului: Codul prezentat mai jos este utilizat pentru a încărca un set de date dintr-un fișier CSV și
a determina numărul total de înregistrări (articole de știri) conținute în acesta.

Cod Python:

pythonCopy code

import pandas as pd

# Definiți calea către fișierul CSV

file_path = 'C:\\Users\\andre\\Desktop\\OnlineNewsPopularity\\OnlineNewsPopularity.csv'

# Încărcați setul de date

df = pd.read_csv(file_path)

# Obțineți numărul de înregistrări verificând numărul de rânduri din DataFrame

num_records = df.shape[0]

# Afișați numărul de înregistrări

print(f"Numărul total de înregistrări în setul de date este: {num_records}")

Explicație și Interpretare:

1. Importul bibliotecii pandas:

 import pandas as pd: Această linie de cod importă biblioteca pandas, care este
esențială pentru manipularea seturilor de date în Python. Pandas oferă structuri de date
și funcții puternice pentru a facilita lucrul cu datele tabulare.

2. Definirea căii fișierului:


 file_path = 'C:\\...\\OnlineNewsPopularity.csv': Variabila file_path stochează calea
unde este localizat fișierul CSV pe sistem. Această cale este specifică utilizatorului și
trebuie să corespundă locației exacte a fișierului pe sistemul respectiv.

3. Încărcarea setului de date:

 df = pd.read_csv(file_path): Utilizăm funcția read_csv() din pandas pentru a citi


conținutul fișierului CSV într-un DataFrame df. DataFrame-ul este o structură de date
bidimensională, similară cu un tabel, care este capabilă să stocheze date într-un format
ordonat.

4. Determinarea numărului de înregistrări:

 num_records = df.shape[0]: Atributul shape al unui DataFrame returnează o tuplă


reprezentând dimensiunea DataFrame-ului sub forma (rânduri, coloane). Accesând
primul element al acestei tuple (shape[0]), obținem numărul de rânduri, adică numărul
total de înregistrări din setul de date.

5. Afișarea rezultatelor:

 `print(f"Numărul total de înregistrări..."): Această linie de cod afișează numărul total de


înregistrări, oferind o ieșire clară și directă care comunică rezultatul calculului anterior.

Concluzii: Pe baza execuției acestui cod, am determinat că setul de date "Online News Popularity"
conține 39,644 de articole de știri. Această informație este fundamentală pentru înțelegerea dimensiunii
și a scopului ulterior al analizei setului de date.

EX2 : NULITATE

Obiectivul Analizei: Această secțiune de cod are ca scop încărcarea unui set de date despre
popularitatea știrilor online, determinarea numărului total de înregistrări și identificarea valorilor lipsă
(null) din setul de date. Mai departe, codul exemplifică metode de tratare a acestor valori lipsă.

Cod Python Detaliat:

import pandas as pd

# Definiți calea către fișierul CSV

file_path = 'C:\\Users\\andre\\Desktop\\OnlineNewsPopularity\\OnlineNewsPopularity.csv'

# Încărcați setul de date

df = pd.read_csv(file_path)
# Obțineți numărul de înregistrări verificând numărul de rânduri din DataFrame

num_records = df.shape[0]

# Afișați numărul de înregistrări

print(f"Numărul total de înregistrări în setul de date este: {num_records}")

# Identificați valori null în fiecare coloană

null_values = df.isnull().sum()

# Afișați numărul de valori null pentru fiecare coloană

print("Numărul de valori null în fiecare coloană este:")

print(null_values)

# Metode de tratare a valorilor null (comentate aici, deoarece setul de date nu are valori null)

# Înlocuirea valorilor null cu media coloanei respective

# df.fillna(df.mean(), inplace=True)

# Eliminarea rândurilor cu valori null

# df.dropna(inplace=True)

# Verificați din nou pentru a vă asigura că toate valorile null au fost tratate

# null_values_post = df.isnull().sum()

# print("Numărul de valori null după tratare:")

# print(null_values_post)

Explicație și Interpretare:

1. Încărcarea Setului de Date: Codul începe prin importul bibliotecii pandas, care este un
instrument esențial pentru manipularea și analiza datelor în Python. Setul de date este încărcat
dintr-un fișier CSV specificat de utilizator într-un DataFrame pandas, care este o structură de
date bidimensională, asemănătoare unui tabel într-un foaie de calcul.

2. Determinarea Numărului de Înregistrări: Folosind atributul shape al DataFrame-ului, codul


determină numărul total de înregistrări (articole de știri), care reprezintă numărul de rânduri.
Acest număr este apoi afișat, oferind o imagine clară asupra dimensiunii setului de date.

3. Identificarea Valorilor Null: Prin intermediul metodei isnull() urmată de sum(), codul identifică
numărul de valori null din fiecare coloană a setului de date. Aceste informații sunt cruciale
pentru înțelegerea integrității datelor și pentru deciziile ulterioare privind prelucrarea datelor.

4. Tratarea Valorilor Null: Codul include, de asemenea, exemple de cum să tratăm valorile null, fie
înlocuindu-le cu media coloanei respective, fie eliminând rândurile care conțin valori null. Aceste
linii sunt comentate, deoarece în setul de date actual nu există valori null.

5. Verificarea Tratamentului Valorilor Null: În final, codul oferă o metodă de a verifica dacă
valorile null au fost complet tratate prin re-evaluarea DataFrame-ului pentru valorile null.

Concluzii: Pe baza rezultatelor obținute, setul de date "Online News Popularity" este complet, fără valori
lipsă în niciuna dintre coloane, ceea ce înseamnă că nu este necesară nicio curățare suplimentară a
datelor în acest moment.

EX 3:

Scopul Codului: Codul prezentat mai jos este folosit pentru a realiza o analiză statistică descriptivă
asupra setului de date "Online News Popularity". Acesta oferă informații despre tendința centrală și
dispersia datelor pentru fiecare variabilă numerică din setul de date.

import pandas as pd

# Calea către fișierul CSV

file_path = 'C:\\Users\\andre\\Desktop\\OnlineNewsPopularity\\OnlineNewsPopularity.csv'

# Încărcăm setul de date

df = pd.read_csv(file_path)

# Eliminăm coloana 'url', deoarece nu este numerică

df = df.drop(columns=['url'])
# Calculăm statisticile descriptive pentru variabilele numerice

descriptive_stats = df.describe()

# Vom afișa acum statisticile descriptive detaliate

print("Statisticile descriptive pentru variabilele numerice includ:")

print(descriptive_stats)

# Pentru a extrage anumite statistici, putem face acest lucru direct

mean_values = descriptive_stats.loc['mean']

quartiles = descriptive_stats.loc[['25%', '50%', '75%']]

std_dev = descriptive_stats.loc['std']

median_values = descriptive_stats.loc['50%'] # Acesta este același cu al doilea cvartil

# Afișăm aceste statistici

print("\nMediile fiecărei coloane numerice sunt:")

print(mean_values)

print("\nCvartilele fiecărei coloane numerice sunt:")

print(quartiles)

print("\nDeviatiile standard ale fiecărei coloane numerice sunt:")

print(std_dev)

print("\nMediana fiecărei coloane numerice sunt (acesta este al doilea cvartil):")

print(median_values)

Explicație și Interpretare:

1. Încărcarea Setului de Date:


 Se începe prin importul bibliotecii pandas, urmat de încărcarea setului de date dintr-un
fișier CSV într-un DataFrame. Colona 'url' este eliminată pentru a se concentra pe
variabilele numerice.

2. Statisticile Descriptive:

 Funcția describe() este utilizată pentru a calcula automat statisticile descriptive, care
includ media, deviația standard, valorile minime și maxime, precum și cvartilele pentru
fiecare coloană numerică.

3. Mediile:

 Media este o măsură a tendinței centrale și indică valoarea medie a unei variabile
numerice în setul de date.

4. Cvartilele:

 Cvartilele împart setul de date în patru părți egale. Primul cvartil (25%) este valoarea sub
care cade 25% din date. Al doilea cvartil (50%), cunoscut și ca mediană, este valoarea de
mijloc care împarte setul de date în două părți egale. Al treilea cvartil (75%) este
valoarea sub care cade 75% din date.

5. Deviatia Standard:

 Deviația standard este o măsură a dispersiei sau cât de mult se răspândesc valorile în
jurul mediei.

6. Mediana:

 Mediana (al doilea cvartil) este valoarea care împarte setul de date în două părți egale și
este adesea utilizată ca o măsură a tendinței centrale atunci când distribuția este foarte
asimetrică.

Concluzii: Această analiză statistică descriptivă oferă o bază pentru înțelegerea setului de date "Online
News Popularity", evidențiind caracteristicile esențiale ale distribuției variabilelor numerice. Informațiile
obținute sunt vitale pentru analize ulterioare și pentru a lua decizii informate în modelarea datelor.

EX4:

Scopul Codului: Codul prezentat mai jos este conceput pentru a identifica variabilele categoriale din
setul de date "Online News Popularity". Variabilele categoriale sunt acele coloane din setul de date care
conțin valori non-numerice, cum ar fi textul sau etichetele.

import pandas as pd

# Calea către fișierul CSV


file_path = 'C:\\Users\\andre\\Desktop\\OnlineNewsPopularity\\OnlineNewsPopularity.csv'

# Încărcăm setul de date

df = pd.read_csv(file_path)

# Identificăm variabilele categoriale verificând tipul de date pentru fiecare coloană

categorical_vars = df.select_dtypes(include=['object']).columns

# Afișăm variabilele categoriale și numărul de valori unice pentru fiecare

print("Variabilele categoriale din setul de date și numărul de valori unice pentru fiecare sunt:")

for var in categorical_vars:

print(f"{var}: {df[var].nunique()} valori unice")

# Explicăm de ce sunt acestea considerate variabile categoriale

print("\nExplicație:")

print("Variabilele categoriale sunt acelea care conțin valori text sau etichete. ")

print("Aceste variabile reprezintă grupuri sau categorii discrete, cum ar fi numele sau tipurile de
categorii.")

print("De exemplu, dacă o coloană conține nume de țări sau categorii de produse, aceasta este
considerată variabilă categorială.")

Explicație și Interpretare:

1. Identificarea Variabilelor Categoriale:

 Codul utilizează funcția select_dtypes(include=['object']) pentru a extrage coloanele din


DataFrame care sunt de tip 'object', sugerând că acestea sunt non-numerice și pot
conține text sau etichete.

2. Variabilele Categoriale Identificate:

 În setul de date analizat, coloana 'url' este identificată ca variabilă categorială. Aceasta
conține adresele URL unice pentru fiecare articol de știri și are o valoare unică pentru
fiecare înregistrare.

3. Interpretarea Variabilelor Categoriale:


 Variabilele categoriale sunt importante pentru că pot reprezenta caracteristici calitative
ale datelor. În acest caz, adresa URL nu este doar o simplă etichetă, ci poate oferi
informații despre originea articolului sau structura website-ului de unde provin
articolele de știri.

Concluzii: Identificarea variabilelor categoriale este un pas critic în prelucrarea și analiza datelor,
deoarece aceste variabile pot necesita tratament special înainte de a efectua orice modelare statistică
sau machine learning. În contextul datelor "Online News Popularity", coloana 'url' nu ar fi folosită într-un
model predictiv, dar ar putea fi utilizată pentru a grupa datele pe domenii sau pentru a extrage
informații suplimentare despre sursa știrii.

Ex5.

S-ar putea să vă placă și