Utforska data i Azure Blob Storage med PandasExplore data in Azure blob storage with pandas

Den här artikeln beskriver hur du utforskar data som lagras i Azure Blob-behållare med hjälp av Pandas python-paket.This article covers how to explore data that is stored in Azure blob container using pandas Python package.

Den här uppgiften är ett steg i processen för team data vetenskap.This task is a step in the Team Data Science Process.

KravPrerequisites

Den här artikeln förutsätter att du har:This article assumes that you have:

Läs in data i en Pandas-DataFrameLoad the data into a pandas DataFrame

Om du vill utforska och ändra en data uppsättning måste du först ladda ned den från BLOB-källan till en lokal fil som sedan kan läsas in i en Pandas-DataFrame.To explore and manipulate a dataset, it must first be downloaded from the blob source to a local file, which can then be loaded in a pandas DataFrame. Följ anvisningarna nedan för den här proceduren:Here are the steps to follow for this procedure:

  1. Hämta data från Azure-bloben med följande python-kod exempel med hjälp av Blob Service.Download the data from Azure blob with the following Python code sample using Blob service. Ersätt variabeln i följande kod med dina egna värden:Replace the variable in the following code with your specific values:

    from azure.storage.blob import BlockBlobService
    import pandas as pd
    import tables
    
    STORAGEACCOUNTNAME= <storage_account_name>
    STORAGEACCOUNTKEY= <storage_account_key>
    LOCALFILENAME= <local_file_name>
    CONTAINERNAME= <container_name>
    BLOBNAME= <blob_name>
    
    #download from blob
    t1=time.time()
    blob_service=BlockBlobService(account_name=STORAGEACCOUNTNAME,account_key=STORAGEACCOUNTKEY)
    blob_service.get_blob_to_path(CONTAINERNAME,BLOBNAME,LOCALFILENAME)
    t2=time.time()
    print(("It takes %s seconds to download "+blobname) % (t2 - t1))
    
  2. Läs data till en Pandas-DataFrame från den nedladdade filen.Read the data into a pandas DataFrame from the downloaded file.

    # LOCALFILE is the file path
    dataframe_blobdata = pd.read_csv(LOCALFILENAME)
    

Nu är du redo att utforska data och generera funktioner för den här data uppsättningen.Now you are ready to explore the data and generate features on this dataset.

Exempel på data utforskning med PandasExamples of data exploration using pandas

Här följer några exempel på hur du kan utforska data med Pandas:Here are a few examples of ways to explore data using pandas:

  1. Kontrol lera antalet rader och kolumnerInspect the number of rows and columns

    print 'the size of the data is: %d rows and  %d columns' % dataframe_blobdata.shape
    
  2. Granska de första eller sista raderna i följande data uppsättning:Inspect the first or last few rows in the following dataset:

    dataframe_blobdata.head(10)
    
    dataframe_blobdata.tail(10)
    
  3. Kontrol lera data typen varje kolumn importerades med hjälp av följande exempel kodCheck the data type each column was imported as using the following sample code

    for col in dataframe_blobdata.columns:
        print dataframe_blobdata[col].name, ':\t', dataframe_blobdata[col].dtype
    
  4. Kontrol lera den grundläggande statistiken för kolumnerna i data uppsättningen enligt följandeCheck the basic stats for the columns in the data set as follows

    dataframe_blobdata.describe()
    
  5. Titta på antalet poster för varje kolumn värde enligt följandeLook at the number of entries for each column value as follows

    dataframe_blobdata['<column_name>'].value_counts()
    
  6. Räkna värden som saknas respektive det faktiska antalet poster i varje kolumn med hjälp av följande exempel kodCount missing values versus the actual number of entries in each column using the following sample code

    miss_num = dataframe_blobdata.shape[0] - dataframe_blobdata.count()
    print miss_num
    
  7. Om du saknar värden för en speciell kolumn i data kan du släppa dem på följande sätt:If you have missing values for a specific column in the data, you can drop them as follows:

    dataframe_blobdata_noNA = dataframe_blobdata.dropna()
    dataframe_blobdata_noNA.shape
    

    Ett annat sätt att ersätta saknade värden är med funktionen mode:Another way to replace missing values is with the mode function:

    dataframe_blobdata_mode = dataframe_blobdata.fillna(
        {'<column_name>': dataframe_blobdata['<column_name>'].mode()[0]})
    
  8. Skapa en histogram -kurva med varierande antal lager platser för att rita fördelningen av en variabelCreate a histogram plot using variable number of bins to plot the distribution of a variable

    dataframe_blobdata['<column_name>'].value_counts().plot(kind='bar')
    
    np.log(dataframe_blobdata['<column_name>']+1).hist(bins=50)
    
  9. Titta på korrelationer mellan variabler med en scatterplot eller med hjälp av den inbyggda funktionen korrelationLook at correlations between variables using a scatterplot or using the built-in correlation function

    # relationship between column_a and column_b using scatter plot
    plt.scatter(dataframe_blobdata['<column_a>'], dataframe_blobdata['<column_b>'])
    
    # correlation between column_a and column_b
    dataframe_blobdata[['<column_a>', '<column_b>']].corr()