top of page
Team I.A. Italia

Trucchi Python per la data science


Trucchi Python per la data science
Trucchi Python per la data science


introduzione

Grazie alla sua semplicità e facilità di apprendimento , Python è diventato molto popolare in questi giorni. Viene utilizzato per varie attività come data science, machine learning, sviluppo web, scripting, automazione, ecc . Python non è una delle competenze più impegnative per i data scientist. La semplicità di Python è il primo di numerosi vantaggi nella scienza dei dati. Sebbene alcuni data scientist abbiano un background in informatica o conoscano altri linguaggi di programmazione, moltiI data scientist provengono da statistica, matematica o altre discipline tecniche e potrebbero non avere la stessa conoscenza di programmazione quando entrano nell'industria . La sintassi di Python è facile da capire e da scrivere, il che lo rende un linguaggio di programmazione veloce e facile da imparare. In questo articolo, abbiamo raccolto più di 40 funzioni e metodi che possono aiutarti ad accelerare le tue attività di data science .


Bene, iniziamo…..

Gestire Liste e dizionari con Python ?

Gli elementi di una lista possono essere ripetuti in modo abbastanza esteso in una singola riga. Mettiamolo in pratica usando il seguente esempio:

numbers = [1, 2, 3, 4, 5, 6, 7, 8]

even_numbers = [number for number in numbers if number % 2 == 0]

print(even_numbers)

Output: [1,3,5,7]

La stessa cosa può essere fatta usando dizionari, set e generatori. Diamo un'occhiata a un altro esempio, questa volta con i dizionari:

dictionary = {'first_num': 1, 'second_num': 2,
              'third_num': 3, 'fourth_num': 4}
oddvalues = {key: value for (key, value) in dictionary.items() if value % 2 != 0}
print(oddvalues)Output: {'first_num': 1, 'third_num': 3}


Come utilizzare la funzione enumerate() con Python ?

Enumerate è una funzione utile per scorrere un oggetto come un elenco, un dizionario o un file. La funzione produce una tupla che include i valori acquisiti dall'iterazione dell'oggetto e il contatore di loop (dalla posizione iniziale di 0). Quando si desidera scrivere codice in base all'indice, il contatore di loop è utile. Diamo un'occhiata a un esempio in cui il primo e l'ultimo elemento potrebbero essere trattati in modo diverso.

sentence = 'Just do It'
length = len(sentence)
for index, element in enumerate(sentence):
    print('{}: {}'.format(index, element))
    if index == 0:
        print('The first element!')
    elif index == length - 1:
        print('The last element!')
Output: 0: J The first element! 1: u 2: s 3: t 4: 5: d 6: o 7: 8: I 9: t The last element!

I file possono anche essere enumerati con la funzione enumera. Prima di uscire dal ciclo, stamperemo le prime 10 righe del file CSV nell'esempio seguente. Non replicheremo il risultato perché è troppo lungo. Puoi, tuttavia, usarlo su qualsiasi file tu abbia.

with open('heart.csv') as f:
    for i, line in enumerate(f):
        if i == 10:
            break
        print(line)


Come Restituire più valori da una funzione con Python ?

Spesso desideriamo restituire più di un valore durante la progettazione di funzioni. Analizzeremo due approcci tipici qui:


Metodo 1:

Iniziamo con l'opzione più semplice: restituire una tupla. Questa tecnica viene spesso utilizzata solo quando sono presenti due o tre valori da restituire. Quando ci sono più valori in una tupla, è semplice perdere traccia dell'ordine degli elementi. Nella sezione del codice sotto get_student c'è una funzione di esempio che restituisce il nome e il cognome del dipendente come tuple in base ai loro numeri ID.

# returning a tuple.
def get_student(id_num):
    if id_num == 0:
        return 'Taha', 'Nate'
    elif id_num == 1:
        return 'Jakub', 'Abdal'
    else:
        raise Exception('No Student with this id: {}'.format(id_num))

Quando chiamiamo la funzione get_student con il numero 0, notiamo che restituisce una tupla con due valori: 'Taha' e 'Nate'

Student = get_student(0)
print('first_name: {}, last_name: {}'.format(Student[0], Student[1]))
Output: first_name: Taha, last_name: Nate


Metodo 2:

Restituire un dizionario è la seconda opzione. Poiché i dizionari sono coppie di valori chiave, possiamo nominare i valori che vengono restituiti, il che è più intuitivo delle tuple. Il metodo 2 è lo stesso del metodo 1, restituisce solo un dizionario.

# returning a dictionary
def get_data(id_num):
    if id_num == 0:
        return {'first_name': 'Muhammad', 'last_name': 'Taha', 'title': 'Data Scientist', 'department': 'A', 'date_joined': '20200807'}
    elif id_num == 1:
        return {'first_name': 'Ryan', 'last_name': 'Gosling', 'title': 'Data Engineer', 'department': 'B', 'date_joined': '20200809'}
    else:
        raise Exception('No employee with this id: {}'.format(id_num))

È più facile fare riferimento a un valore specifico tramite la sua chiave quando un risultato è un dizionario. Stiamo chiamando la funzione con id_num = 0

employee = get_data(0)
print('first_name: {},nlast_name: {},ntitle: {},ndepartment: {},ndate_joined: {}'.format(
    employee['first_name'], employee['last_name'], employee['title'], employee['department'], employee['date_joined']))
Output: first_name: Muhammad, last_name: Taha, title: Data Scientist, department: A, date_joined: 2020-08-07


Come Confrontare più numeri con Python ?

Se hai un valore e desideri confrontarlo con altri due valori, puoi utilizzare la seguente espressione matematica di base: 1<x<30

Questo è il tipo di espressione algebrica che impariamo alle elementari. Tuttavia, l'istruzione identica può essere utilizzata anche in Python. Sì, avete letto bene. Fino ad ora, presumibilmente hai eseguito confronti in questo formato:

1<x e x<30

In Python, tutto ciò che devi fare è usare quanto segue: 1<x<30

x = 5
print(1<x<30)
Uscita: true



For-Else Method con Python ?

Questo metodo viene utilizzato per applicare il ciclo su un elenco. In generale, quando vuoi scorrere un elenco che applichi, un ciclo for. Ma con questo metodo, puoi passare un'altra condizione in un ciclo, il che è estremamente raro. Altri linguaggi di programmazione non supportano questo metodo. Diamo un'occhiata a come funziona in generale. Se vuoi controllare se c'è un numero pari in una lista.

number_List = [1, 3, 7, 9,8]

for number in number_List:

if number % 2 == 0:

print(number)

break

else:

print("No even numbers!!")

Output: 8

Se viene trovato un numero pari, il numero verrà stampato e la parte else non verrà eseguita poiché passiamo un'istruzione break. Se l'istruzione break non viene mai eseguita, verrà eseguito il blocco else.


Come trovare l'elemento più grande o più piccolo da un elenco con Python ?

Usando il modulo "heapq" puoi trovare l'elemento n-più grande o n-più piccolo da un elenco. Vediamo un esempio:

import heapq
numbers = [80, 25, 68, 77, 95, 88, 30, 55, 40, 50]
print(heapq.nlargest(5, numbers))
print(heapq.nsmallest(5, numbers))
Output: [95, 88, 80, 77, 68] [25, 30, 40, 50, 55]



Come passare tutti i valori di un elenco come argomento di funzioni?

È possibile accedere a tutti gli elementi di un elenco utilizzando un "*"

def Summation(*arg):
    sum = 0
    for i in arg:
        sum += i
    return sum
result = Summation(*[8,5,10,7])
print(result)
Output: 30


Come ripetere un'intera stringa senza eseguire il loop con Python ?

Basta moltiplicare la stringa per un numero, il numero di volte in cui vuoi che la stringa venga ripetuta. Allora il tuo lavoro è fatto.

value = "Taha"
print(value * 5)  
print("-" *21)
Output: TahaTahaTahaTahaTaha


Come trovare l'indice di un elemento da una lista con Python ?

Utilizzare ".index" per trovare l'indice di un elemento da un elenco

cities= ['Vienna', 'Amsterdam', 'Paris', 'Berlin']
print(cities.index('Berlin'))
Output: 3



Come stampare più elementi sulla stessa linea con Python ?

print("Analytics", end="")
print("Vidhya")
print("Analytics", end=" ")
print("Vidhya")
print('Data', 'science', 'blogathon', '12', sep=', ')
Output: AnalyticsVidhya Analytics Vidhya Data, science, logathon, 12



Qual è la differenza tra "is" e "==" in Python ?

Se vuoi controllare se due variabili puntano allo stesso oggetto, devi usare "is"

Ma se vuoi controllare se due variabili sono uguali o meno, devi usare "==".

list1 = [7, 9, 4]
list2 = [7, 9, 4]
print(list1 == list2) 
print(list1 is list2)
list3 = list1
print(list3 is list1)
Output: True False True

La prima affermazione è True, perché list1 e list2 hanno entrambi gli stessi valori, quindi sono uguali. La seconda istruzione è False perché i valori puntano a variabili diverse nella memoria e la terza istruzione è True perché list1 e list3 puntano entrambi a un oggetto comune in memoria.


Come unire 2 dizionari in una singola riga di codice con Python ?

first_dct = {"London": 1, "Paris": 2}
second_dct = {"Tokyo": 3, "Seol": 4}
merged = {**first_dct, **second_dct}
print(merged)
Output: {‘London’: 1, ‘Paris’: 2, ‘Tokyo’: 3, ‘Seol’: 4}



Come identificare se una stringa inizia con un carattere specifico o meno con Python ?

Se hai bisogno di sapere se una stringa inizia con un alfabeto specifico, puoi utilizzare il metodo di indicizzazione che è comune. Ma puoi anche usare una funzione chiamata " inizia con", ti dirà se una stringa inizia con una parola specifica o meno, che passi alla funzione.

sentence = "Analytics Vidhya"
print(sentence.startswith("b"))
print(sentence.startswith("A"))
Output: False True

Come ottenere l'Unicode di un carattere con Python ?

Se hai bisogno di conoscere l'Unicode di un carattere, devi usare una funzione chiamata "ord" e passare il carattere nella funzione, di cui vuoi conoscere l'Unicode. Vediamo un esempio:

print(ord("T"))
print(ord("A")) 
print(ord("h")) 
print(ord("a"))
Uscita: 84 65 104 97

Come ottenere la coppia chiave-valore di un dizionario con Python ?

Se vuoi accedere alla chiave e al valore di un dizionario in modo diverso, puoi farlo usando una funzione chiamata "items()" .

cities = {'London': 1, 'Paris': 2, 'Tokyo': 3, 'Seol': 4}
for key, value in cities.items():
    print(f"Key: {key} and Value: {value}")
Output: Key: London and Value: 1 Key: Paris and Value: 2 Key: Tokyo and Value: 3 Key: Seol and Value: 4


Come i valori booleani possono essere utilizzati nelle operazioni matematiche con Python ?

False è considerato 0 e True è considerato 1

x = 9
y = 3
outcome = (x - False)/(y * True)
print(outcome)
Output: 3.0


Come aggiungere valore in una posizione specifica di una lista con Python ?

Se vuoi aggiungere un valore a una lista usando la funzione “append” , ma aggiungerà un valore nell'ultima posizione di una lista. Quindi, cosa succede se si desidera aggiungere valore in una posizione specifica di un elenco. Puoi anche farlo, puoi usare una funzione chiamata "inserisci" per inserire un valore in una posizione specifica di un elenco.

Sintassi:

list_name.insert(posizione, valore)

Vediamo un esempio.

cities = ["London", "Vienna", "Rome"]
cities.append("Seoul")
print("After append:", cities)
cities.insert(0, "Berlin")
print("After insert:", cities)
Output: After append: [‘London’, ‘Vienna’, ‘Rome’, ‘Seoul’] After insert: [‘Berlin’, ‘London’, ‘Vienna’, ‘Rome’, ‘Seoul’]



Funzione Filter() con Python ?

Il funzionamento della funzione filtro risiede nel suo nome. Filtra un iteratore specifico in base a una funzione specifica passata al suo interno. Restituisce un iteratore.

Sintassi:

filtro (funzione, iteratore)

Vediamo un esempio con la funzione filtro:

mixed_number = [8, 15, 25, 30,34,67,90,5,12]
filtered_value = filter(lambda x: x > 20, mixed_number)
print(f"Before filter: {mixed_number}") 
print(f"After filter: {list(filtered_value)}")
Output: Before filter: [8, 15, 25, 30, 34, 67, 90, 5, 12] After filter: [25, 30, 34, 67, 90]

Come creare una funzione senza limite di parametri con Python ?

Puoi creare una funzione senza preoccuparti dei parametri. È possibile passare qualsiasi numero di parametri desiderati quando si chiama la funzione. Vediamo un esempio:

def multiplication(*arguments):
    mul = 1
    for i in arguments:
        mul = mul * i
    return mul
print(multiplication(3, 4, 5))
print(multiplication(5, 8, 10, 3))
print(multiplication(8, 6, 15, 20, 5))
Output: 60 1200 72000


Come eseguire l'iterazione su due o più elenchi contemporaneamente con Python ?

Puoi scorrere un singolo elenco usando la funzione enumera, ma quando hai due o più elenchi, puoi anche scorrere su di essi usando la funzione "zip()" .

capital = ['Vienna', 'Paris', 'Seoul',"Rome"]
countries = ['Austria', 'France', 'South Korea',"Italy"]
for cap, country in zip(capital, countries):
    print(f"{cap} is the capital of {country}")
Output: Vienna is the capital of Austria Paris is the capital of France Seoul is the capital of South Korea Amsterdam is the capital of Italy


Come modificare il "case" delle lettere in una frase con Python ?

Se vuoi cambiare le maiuscole delle lettere, cioè maiuscole in minuscole e minuscole in maiuscole, puoi farlo usando una funzione chiamata "scambia maiuscole". Vediamo un esempio:

sentence = "Data Science Blogathon."
changed_sen = sentence.swapcase()
print(changed_sen)
Output: dATA sCIENCE bLOGATHON.

Come controllare la dimensione della memoria utilizzata da un oggetto con Python ?

Per controllare la memoria utilizzata da un oggetto importa prima la libreria sys poi usa un metodo di questa libreria chiamato “ getsizeof ”. Restituirà la dimensione della memoria utilizzata dall'oggetto.

import sys
mul = 5*6
print(sys.getsizeof(mul))
Output: 28


Funzione Map() con Python ?:

La funzione map() viene utilizzata per applicare una funzione specifica a un determinato iteratore.

Sintassi:

mappa(funzione, iteratore)

values_list = [8, 10, 6, 50]
quotient = map(lambda x: x/2, values_list)
print(f"Before division: {values_list}")
print(f"After division: {list(quotient)}")
Output: Before division: [8, 10, 6, 50] After division: [4.0, 5.0, 3.0, 25.0]


Come invertire un'intera stringa con Python ?

Per invertire una stringa puoi usare il metodo di slicing. Vediamo un esempio:

value = "Analytics"
print("Reverse is:", value[::-1])
Output: Reverse is: scitylanA



Come scoprire il tempo di esecuzione di un blocco con Python ?

Quando si addestra il modello di machine learning o deep learning o si esegue semplicemente un blocco di codice, è possibile verificare quanto tempo è stato necessario per eseguire il blocco di codice. Devi usare una funzione magica "%%time" nella parte superiore del blocco del tuo codice. Ti mostrerà la quantità di tempo necessaria per eseguire il blocco di codice. Vediamo un esempio:

%%time
sentence = "Data Science Blogathon."
changed_sen = sentence.swapcase()
print(changed_sen)
Output: dATA sCIENCE bLOGATHON. Wall time: 998 µs



Come rilasciare il carattere sinistro o destro di una stringa con Python ?

Ci sono due funzioni chiamate “rstrip()” e “lstrip()” , “rstrip” è usato per eliminare alcuni caratteri dalla destra di una stringa e “lstrip” è usato per eliminare alcuni caratteri dalla sinistra di una stringa. Il valore predefinito di entrambe le funzioni è uno spazio vuoto. Ma puoi passare il tuo carattere specifico per rimuoverli dalla stringa.

sentence1 = "Data Science Blogathon       "
print(f"After removing the right space: {sentence1.rstrip()}") 
sentence2 = "        Data Science Blogathon"
print(f"After removing the left space: {sentence2.lstrip()}")
sentence3 = "Data Science Blogathon .,bbblllg"
print("After applying rstrip:", sentence3.rstrip(".,blg"))
Output: After removing the right space: Data Science Blogathon After removing the left space: Data Science Blogathon After applying rstrip: Data Science Blogathon


Come contare il numero di volte in cui un elemento appare in un elenco con Python ?

Puoi contare il numero di volte in cui un elemento appare in un elenco eseguendo un ciclo for tra di essi. Ma puoi farlo più facilmente, semplicemente chiamando un metodo nell'elenco chiamato "count" . Ecco un esempio:

cities= ["Amsterdam", "Berlin", "New York", "Seoul", "Tokyo", "Paris", "Paris","Vienna","Paris"]
print("Paris appears", cities.count("Paris"), "times in the list")
Output: Paris appears 3 times in the list


Come trovare l'indice di un elemento in una tupla o in una lista con Python ?

Puoi trovare l'indice di un elemento in una tupla o in una lista semplicemente chiamando un semplice metodo chiamato "index" su quella tupla o lista. Ecco un esempio:

cities_tuple = ("Berlin", "Paris", 5, "Vienna", 10)
print(cities_tuple.index("Paris")) 
cities_list = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]
print(cities_list.index("Amsterdam"))
Output: 1 3


Come rimuovere ogni elemento da un elenco o da un set con Python ?

Puoi rimuovere tutti gli elementi da un elenco o da un insieme applicando un metodo chiamato "cancella" su quell'elenco o insieme.

cities_list = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]
print(f"Before removing from the list: {cities_list}")
cities_list.clear()
print(f"After removing from the list: {cities_list}")
cities_set = {'Vienna', 'Paris', 'Seoul',"Amsterdam"}
print(f"Before removing from the set: {cities_set}")
cities_set.clear()
print(f"After removing from the set: {cities_set}")
Output: Before removing from the list: [‘Vienna’, ‘Paris’, ‘Seoul’, ‘Amsterdam’] After removing from the list: [] Before removing from the set: {‘Vienna’, ‘Amsterdam’, ‘Seoul’, ‘Paris’}


Come unire 2 set di dati con Python ?

Per unire due insiemi puoi applicare il metodo chiamato “union()”. Si unirà alle due liste su cui hai applicato il metodo.

set1 = {'Vienna', 'Paris', 'Seoul'}
set2 = {"Tokyo", "Rome",'Amsterdam'}
print(set1.union(set2))
Output: {‘Vienna’, ‘Tokyo’, ‘Seoul’, ‘Amsterdam’, ‘Rome’, ‘Paris’}


Come ordinare i valori di un elenco in base alla loro frequenza con Python ?

Innanzitutto, usa "counter" dal modulo chiamato collections per misurare la frequenza di ciascun valore, quindi applica un metodo chiamato "most_common" sul risultato del contatore per ordinare i valori dell'elenco in base alla loro frequenza.

from collections import Counter
count = Counter([7, 6, 5, 6, 8, 6, 6, 6])
print(count)
print("Sort values according their frequency:", count.most_common())
Output: Counter({6: 5, 7: 1, 5: 1, 8: 1}) Sort values according their frequency: [(6, 5), (7, 1), (5, 1), (8, 1)]



Come eliminare i valori duplicati da un elenco con Python ?

Innanzitutto, converti l'elenco in un set, questo rimuoverà i valori duplicati perché un set non contiene valori duplicati. Quindi converti nuovamente il set in un elenco, in questo modo puoi facilmente eliminare i valori duplicati da un elenco.

cities_list = ['Vienna', 'Paris', 'Seoul',"Amsterdam","Paris","Amsterdam","Paris"]
cities_list = set(cities_list)
print("After removing the duplicate values from the list:",list(cities_list))
Output: After removing the duplicate values from the list: [‘Vienna’, ‘Amsterdam’, ‘Seoul’, ‘Paris’]


Come fare una singola frase da tutti gli elementi di una lista con Python ?

Utilizzando un metodo chiamato “join” puoi unire tutti i singoli elementi di una lista e creare una singola stringa o frase.

words_list = ["Data", "science", "Blogathon"]
print(" ".join(words_list))
Output: Data science Blogathon


Come restituire più valori da una funzione contemporaneamente con Python ?

Sì, puoi farlo in Python. È possibile restituire più valori da una funzione contemporaneamente. Vediamo un esempio:

def calculation(number):
    mul = number*2
    div = number/2
    summation = number+2
    subtract = number-2
    return mul, div, summation, subtract
mul, div, summation, subtract = calculation(10)
print("Multiplication:", mul)
print("Division:", div)
print("Summation:", summation)
print("Subtraction:", subtract)
Output: Multiplication: 20 Division: 5.0 Summation: 12 Subtraction: 8



Come scoprire la differenza tra due liste con Python ?

Per prima cosa, converti le liste in insiemi, quindi applica il metodo chiamato "symmetric_difference" su questi insiemi. Ciò restituirà la differenza tra questi due elenchi.

cities_list1 = ['Vienna', 'Paris', 'Seoul',"Amsterdam", "Berlin", "London"]
cities_list2 = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]
cities_set1 = set(cities_list1)
cities_set2 = set(cities_list2)
difference = list(cities_set1.symmetric_difference(cities_set2))
print(difference)
Output: [‘Berlin’, ‘London’]



Come unire due elenchi diversi in un unico dizionario con Python ?

Innanzitutto, applica una funzione zip su questi due elenchi, quindi converti l'output della funzione zip in un dizionario. Il tuo lavoro è finito, è così facile convertire due elenchi in un unico dizionario.

number = [1, 2, 3]
cities = ['Vienna', 'Paris', 'Seoul']
result = dict(zip(number, cities))
print(result)
Output: {1: ‘Vienna’, 2: ‘Paris’, 3: ‘Seoul’}


Come ottenere gli n elementi più grandi o gli n più piccoli di un elenco con Python ?

Prima importa il modulo "heap q" quindi applica il metodo "n più grande" e "n più piccolo" e passa il valore di n e il nome della lista, in questo modo puoi ottenere gli n elementi più grandi e gli n più piccoli di una lista.

import heapq
numbers = [100, 20, 8, 90, 86, 95, 9, 66, 28, 88]
print(heapq.nlargest(3, numbers))
print(heapq.nsmallest(3, numbers))
Output: [100, 95, 90] [8, 9, 20]


Conclusioni

Grazie per aver letto tutto l'articolo fino alla fine. Speriamo che questo articolo ti abbia aiutato a imparare qualcosa di nuovo.

Comentários

Avaliado com 0 de 5 estrelas.
Ainda sem avaliações

Adicione uma avaliação
PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page