ENH: show numbers on .info() with verbose flag
State: closed

- [x] closes #17304
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry



Labels:
name: DataFrame
description: DataFrame data structure

Comments:
This is a duplicate of #28696 which was a continuation of #17332  - did you address comments from those? @Alexandreae were you still working on that?
Apologies, I completely missed this entire discussion. I was not aware someone else was working on it. I did see the comment left in https://github.com/pandas-dev/pandas/issues/17304, but I started working on it as that was months ago. 

Let me have a look at the comments, then I'll finish up. Still, you can close this if @Alexandreae responds.
Hello @Roymprog! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2020-01-02 20:42:37 UTC
All the suggestions from https://github.com/pandas-dev/pandas/pull/17332 have been implemented. Please let me know what you think
Output looks pretty good and better than current.  Does it work well with very long variable names? Or other long info properties?  Wondering since the -----  bits are new.
Sample for long column name variables. 
Script:
```python
col_count = 10
max_col_name = 80
df = pd.DataFrame(np.random.rand(4, col_count), columns=[
          '%s' % (np.random.randint(2, max_col_name)*'a') for x in range(col_count)])
df.info(verbose=True)
```
Output:
```
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 10 columns):
 #   Column                                                                         Non-Null Count  Dtype  
---  ------                                                                         --------------  -----  
 0   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                               4 non-null      float64
 1   aaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                   4 non-null      float64
 2   aaaaaaaa                                                                       4 non-null      float64
 3   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  4 non-null      float64
 4   aaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                  4 non-null      float64
 5   aaaaaaaaaaaaaaaaaaaaaaaaaaa                                                    4 non-null      float64
 6   aaaaaaaaaaaaaaa                                                                4 non-null      float64
 7   aaaaaaaaa                                                                      4 non-null      float64
 8   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                     4 non-null      float64
 9   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   4 non-null      float64
```
Regarding dtypes, there's a [test](https://github.com/Roymprog/pandas/blob/17304-info-show-numbers/pandas/tests/frame/test_repr_info.py#L288), and for non-null count there is a [docstring test](https://github.com/Roymprog/pandas/blob/17304-info-show-numbers/pandas/core/frame.py#L2379). For the numbering I added an assertion in the [verbosity test](https://github.com/Roymprog/pandas/blob/17304-info-show-numbers/pandas/tests/frame/test_repr_info.py#L209), as I did not feel like posting a thousand line output here.
Look readable in this extreme case. 
@pandas-dev/pandas-core anyone else care to take a look?
ping @pandas-dev/pandas-core for any other comments
@jreback care to take a look or merge?
yep will again
@Roymprog looks like some merge conflicts - can you clean up and re-push?
@Roymprog can you fix up merge conflict?
I will in the coming week
@jreback any outstanding thoughts on this?
@Roymprog CI failure:

```
Check for use of not concatenated strings
[error]./pandas/tests/frame/test_repr_info.py:216:String unnecessarily split in two by black. Please merge them manually.
Check for use of not concatenated strings DONE
```
thanks @Roymprog very . nice!
Thanks for the fix @TomAugspurger.

Thank you all for all the feedback I received. This was my first open source pull request, thanks for making it happen :smiley: