15

How could I identify all the Pandas DataFrames created in my current notebook session?

Something like in SAS seeing all the members in the Work library would be ideal.

Thanks.

Thomas K
  • 39,200
  • 7
  • 84
  • 86
Simon
  • 549
  • 1
  • 4
  • 9

2 Answers2

34

Solution

%who DataFrame

Explanation

All objects

... seeing all the members in the Work library would be ideal.

In [1]:

a = 10
b = 'abs'
c = [1, 2, 3]

%who shows all used names:

In [2]:
%who
a    b   c   

Conveniently as a list:

In [3]:
%who_ls

Out[3]:
['a', 'b', 'c']

Or as table with data types:

In [4]:
%whos

Variable   Type    Data/Info
----------------------------
a          int     10
b          str     abs
c          list    n=3

Filter for DataFrames

In [5]:
import pandas as pd
df1 = pd.DataFrame({'a': [100, 200, 300]})
df2 = pd.DataFrame({'b': [100, 200, 300]})

In [6]:
%whos DataFrame

Variable   Type         Data/Info
---------------------------------
df1        DataFrame         a\n0  100\n1  200\n2  300
df2        DataFrame         b\n0  100\n1  200\n2  300

In [7]:

%who DataFrame
df1  df2

In [8]:
%who_ls DataFrame

Out[8]:
['df1', 'df2']
Mike Müller
  • 82,630
  • 20
  • 166
  • 161
5

If you mean memory try something like:

for i in dir():
    if type(globals()[i]) == pandas.DataFrame:
        print(i)

or some such.

Serbitar
  • 2,134
  • 19
  • 25