0

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

3 Answers 3

1

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']
Sign up to request clarification or add additional context in comments.

Comments

0

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()]
})

Comments

0

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()`

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.