The return value of Series.describe() is a Series with the descriptive statistics. The dtype you see in the Series is not the dtype of the original column but the dtype of the statistics - which is float. The name of the result is price because that is set as the name of the Series autos["price"].

Answer from maow on Stack Overflow
🌐
Stack Overflow
stackoverflow.com › questions › 67469800 › why-does-info-and-describe-in-pandas-have
python - Why does.info() and .describe() in pandas have ()? - Stack Overflow
My question is, .info() and .describe() are somewhat similar to .shape and .index which give you the description and info but why is it a method and not an attribute/property? ... Usually, functions perform some operation in order to retrieve whatever is returned, whereas attributes just print the stored value - Of course pandas could store "info" and "describe" as attributes, but they have chosen to not do so
🌐
DataCamp
campus.datacamp.com › courses › python-for-spreadsheet-users › diving-in
.info() and .describe() methods | Python
The .info() method allows us to learn the shape of object types of our data. The .describe() method gives us summary statistics for numerical columns in our DataFrame.
🌐
Pandas
pandas.pydata.org › docs › reference › api › pandas.DataFrame.describe.html
pandas.DataFrame.describe — pandas 3.0.1 documentation
To limit the result to numeric types submit numpy.number. To limit it instead to object columns submit the numpy.object data type. Strings can also be used in the style of select_dtypes (e.g. df.describe(include=['O'])). To select pandas categorical columns, use 'category'
🌐
Tech Tip Now
techtipnow.in › home › what does info() and describe() do?
What does info() and describe() do? – techtipnow
February 24, 2021 - describe() function gives various summary statistics for a dataframe object such as count, mean, std, min, 25%, 50%, 75% percentile and max value. Info() function gives basic information of a dataframe object such as its type, index values, no of rows, data columns and memory storage.
Top answer
1 of 4
9

.describe is the bound method. It's bound to your dataframe, and the representation of a bound method includes the repr() output of whatever it is bound to.

You can see this at the start of the output:

<bound method NDFrame.describe of ...>

The rest is just the same string as what repr(data) produces.

Note that Python interactive interpreter always echoes the representation of whatever the last expression produced (unless it produced None). data.describe produces the bound method, data.describe() produces whatever that method was designed to produce.

You can create the same kind of output for any bound method:

>>> class Foo:
...     def __repr__(self):
...         return "[This is an instance of the Foo class]"
...     def bar(self):
...         return "This is what Foo().bar() produces"
...
>>> Foo()
[This is an instance of the Foo class]
>>> Foo().bar
<bound method Foo.bar of [This is an instance of the Foo class]>
>>> Foo().bar()
"This is what Foo().bar() produces"

Note that Foo() has a custom __repr__ method, which is what is called to produce the representation of an instance.

You can see the same kind of output (the representation of the whole dataframe) for any method on the dataframe you don't actually call, e.g. data.sum, data.query, data.pivot, or data.__repr__.

A bound method is part of the process by which Python passes in the instance as the first argument when you call it, the argument usually named self. It is basically a proxy object with references to the original function (data.describe.__func__) and the instance to pass in before all other arguments (data.describe.__self__). See the descriptor HOWTO for details on how binding works.

If you wanted to express the __repr__ implementation of a bound method as Python code, it would be:

def __repr__(self):
    return f"<bound method {self.__func__.__qualname__} of {self.__self__!r}>"
2 of 4
2

At the risk of over-simplifying:
.describe is a method which is part of the NDFrame class, which can be called to get stats on your frame.

You use this method by calling the describe() function.

For more detail, and an excellent low-level explanation - see Martijn's answer.

🌐
Medium
medium.com › gustavorsantos › 4-good-ways-to-explore-your-data-6a0f4360a254
4 Good Ways to Explore your Data. Summary | by Gustavo R Santos | gustavorsantos | Medium
July 17, 2020 - 4 Good Ways to Explore your Data Summary df. describe( ) df.info( ) Pandas Profiling SweetViz Data Exploration is the initial step when we are processing a dataset. At that stage, we begin to …
Find elsewhere
🌐
GeeksforGeeks
geeksforgeeks.org › pandas › python-pandas-dataframe-describe-method
Pandas DataFrame describe() Method - GeeksforGeeks
July 26, 2025 - The describe() method in Pandas generates descriptive statistics of DataFrame columns which provides key metrics like mean, standard deviation, percentiles and more. It works with numeric data by default but can also handle categorical data which offers insights like the most frequent value and the number of unique entries.
🌐
Pandas
pandas.pydata.org › docs › reference › api › pandas.DataFrame.info.html
pandas.DataFrame.info — pandas 3.0.2 documentation
By default, this is shown only if the DataFrame is smaller than pandas.options.display.max_info_rows and pandas.options.display.max_info_columns. A value of True always shows the counts, and False never shows the counts. Returns: None · This method prints a summary of a DataFrame and returns None. See also · DataFrame.describe ·
🌐
Llego
llego.dev › home › blog › a comprehensive guide to pandas df.info() in python
A Comprehensive Guide to Pandas df.info() in Python - llego.dev
March 24, 2023 - In this comprehensive guide, we will dive deep into df.info() and learn how to use it to extract key details about a Pandas DataFrame. We will cover the following topics in-depth with example code snippets: Open Table of Contents · Overview of df.info() Index Details · Column Details · Data Types Overview · Memory Usage · Use Cases and Examples · Additional Parameters · verbose · buf · max_cols · memory_usage · null_counts · How df.info() Works Internally · Comparison with df.describe() Limitations to be Aware Of ·
🌐
Medium
medium.com › @i-jesse › exploring-data-frames-f10218a5d3bd
Exploring Data Frames. shape, head, tail, info, describe, | by I. Jesse | Medium
March 23, 2025 - The info gives a summary of all the columns in the data set, showing you the names of the columns, how many null values are there (the empty cells), and the data type (if it is made up of integers, floats, string object, etc.) It also lets you know the number of entries (number of rows) and the range of the index. ... <class 'pandas.core.frame.DataFrame'> RangeIndex: 8 entries, 0 to 7 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 column_1 8 non-null float64 1 column_2 8 non-null float64
🌐
W3Schools
w3schools.com › python › pandas › ref_df_describe.asp
Pandas DataFrame describe() Method
import pandas as pd data = [[10, 18, 11], [13, 15, 8], [9, 20, 3]] df = pd.DataFrame(data) print(df.describe()) Try it Yourself » · The describe() method returns description of the data in the DataFrame.
🌐
Medium
medium.com › @sifayathf › pandas-dataframe-describe-function-difference-between-how-it-behaves-for-categorical-vs-numerical-e72a7cfa074c
Pandas Dataframe describe function-Difference between how it behaves for Categorical vs Numerical Dataframe | by Sifayathf | Medium
September 18, 2023 - The describe() method is used to display the information of each and every column values in a dataframe, however, interestingly, the information displayed by the describe() method is different for a Categorical and a Numerical dataframe.
🌐
Medium
medium.com › @heyamit10 › understanding-pandas-describe-9048cb198aa4
Understanding pandas.describe(). I understand that learning data science… | by Hey Amit | Medium
March 6, 2025 - You get more control over what stats to display. Think of it as describe() with superpowers. ... Yes, but with some limitations. It doesn’t provide complex date-related insights like trends or time gaps. Instead, it gives basic info like count, min, and max.
🌐
GeeksforGeeks
geeksforgeeks.org › python-pandas-dataframe-info
Python | Pandas dataframe.info() - GeeksforGeeks
June 9, 2025 - By default, describe() works with numeric data but can also handle categorical data, offering tailore ... Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages.
🌐
Machine Learning Plus
machinelearningplus.com › blog › pandas describe
Pandas Describe - machinelearningplus
March 8, 2022 - The pandas describe function is used to get a descriptive statistics like mean, median, min-max values of different data columns.
🌐
W3Schools
w3schools.com › python › pandas › ref_df_info.asp
Pandas DataFrame info() Method
Pandas HOME Pandas Intro Pandas ... Cleaning Wrong Format Cleaning Wrong Data Removing Duplicates ... The info() method prints information about the DataFrame....