Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Python, networkx

  1. #1
    Utente di HTML.it L'avatar di Valeria89
    Registrato dal
    Apr 2015
    residenza
    Pisa
    Messaggi
    129

    Python, networkx

    Salve a tutti, oggi è il primo giorno che programmo in python, scusate le banalità delle mie domande.
    Ho un file .csv che dovrei assegnare ad una variabile di tipo grafo, utilizzando la libreria networkx.

    codice:
    import networkx as nx 
    
    import matplotlib as plt 
    
    import os 
    
    G = nx.complete_graph() 
    in_file = open("network_cleaned.csv","r") 
    G = in_file.read() 


    Ho provato quest poche righe, non funziona nulla, poi in networkx ho la classe clique.py che mi serve per analizzare il grafo. Come faccio a passare il grafo alla classe clique.py?


    Grazie a tutti per l'aiuto.

  2. #2
    "Non funziona nulla" non vuol dire niente... ottieni errori? Non ottieni il risultato che speravi?
    In ogni caso, sicuramente quello che fai in quel codice non ha molto senso, visto che prima chiami una funzione per farti creare un grafo completo (ma non le passi il parametro del numero di vertici), poi apri un CSV, leggi una riga (come stringa) e la assegni alla variabile a cui prima avevi assegnato il grafo (che quindi va perduto).

    Inoltre networkx.clique non è una classe, è un modulo che contiene diverse funzioni libere... Su che funzione hai problemi? Ne hai letto la documentazione?

    Più in generale: che cosa stai cercando di fare? E ancora più in generale: non puoi programmare buttando statement a caso e sperando che qualcosa magicamente funzioni. Python è un linguaggio con una curva di apprendimento dolce, ma in ogni caso prima di metterti ad usare librerie (molto relativamente) complesse ti devi studiare il linguaggio (e contestualmente, se è il tuo primo linguaggio di programmazione, imparare a ragionare in maniera algoritmica, che è cosa più sottile ma più importante della sintassi di uno specifico linguaggio); poi potrai affrontare altre librerie, ma, anche lì, non andando completamente a caso ma leggendone prima qualche introduzione/tutorial (per avere il "feeling" di come è impostata la libreria) e la documentazione di riferimento delle classi/funzioni di cui hai effettivamente bisogno.

    Il forum può essere uno strumento di aiuto quando "ti incastri", ma scrivere istruzioni random e poi delegare a terzi di "aggiustare" (=riscrivere) secondo le necessità non è un metodo di lavoro che porta lontano.
    Ultima modifica di MItaly; 18-06-2015 a 09:03
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Valeria89
    Registrato dal
    Apr 2015
    residenza
    Pisa
    Messaggi
    129
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    "Non funziona nulla" non vuol dire niente... ottieni errori? Non ottieni il risultato che speravi?
    In ogni caso, sicuramente quello che fai in quel codice non ha molto senso, visto che prima chiami una funzione per farti creare un grafo completo (ma non le passi il parametro del numero di vertici), poi apri un CSV, leggi una riga (come stringa) e la assegni alla variabile a cui prima avevi assegnato il grafo (che quindi va perduto).

    Inoltre networkx.clique non è una classe, è un modulo che contiene diverse funzioni libere... Su che funzione hai problemi? Ne hai letto la documentazione?

    Più in generale: che cosa stai cercando di fare? E ancora più in generale: non puoi programmare buttando statement a caso e sperando che qualcosa magicamente funzioni. Python è un linguaggio con una curva di apprendimento dolce, ma in ogni caso prima di metterti ad usare librerie (molto relativamente) complesse ti devi studiare il linguaggio (e contestualmente, se è il tuo primo linguaggio di programmazione, imparare a ragionare in maniera algoritmica, che è cosa più sottile ma più importante della sintassi di uno specifico linguaggio); poi potrai affrontare altre librerie, ma, anche lì, non andando completamente a caso ma leggendone prima qualche introduzione/tutorial (per avere il "feeling" di come è impostata la libreria) e la documentazione di riferimento delle classi/funzioni di cui hai effettivamente bisogno.

    Il forum può essere uno strumento di aiuto quando "ti incastri", ma scrivere istruzioni random e poi delegare a terzi di "aggiustare" (=riscrivere) secondo le necessità non è un metodo di lavoro che porta lontano.
    Hai ragione su tutto, sono laureata in informatica, quest'esame su python è l'ultimo esame della magistrale. Ho davvero difficoltà a programmare in questo linguaggio.
    Ho un documento .cvs con l'elenco di tutti i nodi del mio grafo (il grafo non è completo). Non riesco a leggere questo file con python e farlo diventare un grafo.
    Non so come utilizzare i metodi della libreria networkx, non so come utilizzare clique.py.
    Vorrei un' esempio per capire. Leggendo manuali in giro, non ho capito quasi nulla. Sono arrivata a tirar fuori quella schifezza che ho postato. Mi rendo conto che è davvero un codice che fa rabbrividire, ma come ho detto prima, sto avendo serie difficoltà con questo nuovo linguaggio. Mi scuso della mia domanda, ma sono davvero in crisi con quest'esame.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.