Home > Blockchain >  Python - Is there a way to output results to pandas DF
Python - Is there a way to output results to pandas DF

Time:11-12

I have the following sample DF:

Car Model Sales
Mercedes Benz
Audi 100000
Renault 50000

I have 2 calculations

  1. Calculate the number of blank rows in the sales column

    missingSalesInfo = DF['Sales'].isnull().sum()

    missingSalesInfo = ("Number of missing values: ",missingSalesInfo)

  2. Calculate the total car sales

totalSales = DF['Sales'].sum()

totalSales = ("Total car sales: ",totalSales)

What I want to do is create a new DF, lets call it DF2 to store the above results. See example below

DF2

Description Results
Number of missing values 1
Total car sales 150000

CodePudding user response:

Use Series.agg with aggregate functions in dictionary, convert to integers and convert to DataFrame from Series by Series.reset_index, for set new columns names is used DataFrame.set_axis:

df2 = (df['Sales'].agg({'Number of missing values': lambda x: x.isna().sum(),
                        'Total car sales': 'sum'})
                  .astype(int)
                  .reset_index()
                  .set_axis(['Description','Results'], axis=1)
                 )
print (df2)
                Description  Results
0  Number of missing values        1
1           Total car sales   150000

Alternative:

df2 = (df['Sales'].agg({'Number of missing values': lambda x: x.isna().sum(),
                       'Total car sales': 'sum'})
                  .astype(int)
                  .reset_index())

df2.columns = ['Description','Results']

CodePudding user response:

That's just a question of how to create a DataFrame. You can do that in a few ways, but here it's done with dictionary:

df2 = pd.DataFrame({
    'Description': ['Number of missing values', 'Total car sales'], 
    'Results': [DF['Sales'].isnull().sum(), DF['Sales'].sum()]
})

CodePudding user response:

Several ways to do that. Here's a simple way.

df_2 = pd.DataFrame()
df_2['Number of missing values'] =  DF['Sales'].isnull().sum()
df_2['Total car sales'] =  DF['Sales'].sum()`
  • Related