Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将%who数据帧转换为IPython笔记本中的列表?_Python_Ipython Notebook - Fatal编程技术网

是否可以将%who数据帧转换为IPython笔记本中的列表?

是否可以将%who数据帧转换为IPython笔记本中的列表?,python,ipython-notebook,Python,Ipython Notebook,我知道magic命令%who DataFrame可以打印工作区中的数据帧列表。我想知道是否有可能将输出制作成一个列表,以便稍后引用 比如说, import pandas as pd df_1 = pd.DataFrame() df_2 = pd.DataFrame() %who DataFrame 返回: df_1 df_2 我尝试了诸如list(%who DataFrame)和output=%who DataFrame之类的方法,但都没有成功。who只打印结果,它不会返回您可以访问

我知道magic命令
%who DataFrame
可以打印工作区中的数据帧列表。我想知道是否有可能将输出制作成一个列表,以便稍后引用

比如说,

import pandas as pd
df_1 = pd.DataFrame()
df_2 = pd.DataFrame()
%who DataFrame
返回:

df_1     df_2

我尝试了诸如
list(%who DataFrame)
output=%who DataFrame
之类的方法,但都没有成功。

who
只打印结果,它不会返回您可以访问的任何内容(您需要拦截流)。但是你可以代替我们,这就是
who
所说的:

In [23]: df0 = pd.DataFrame()

In [24]: df1 = pd.DataFrame()

In [25]: w = %who DataFrame
df0  df1     

In [26]: w

In [27]: w = %who_ls DataFrame

In [28]: w
Out[28]: ['df0', 'df1']

In [29]: type(w)
Out[29]: list

你为什么想要这个?嗨@DSM,我有一个后续问题。我认为这样做可以让我在w:print df.descripe()中一次引用数据帧并描述df的所有数据帧。但df实际上被视为unicode
unicode对象没有属性“descripe”
是否有解决方法?非常感谢@莉莉:
who_ls
返回数据帧的名称,而不是数据帧本身。如果您想将名称转换为对象,您可以执行类似于
dfs=[eval(name)for name in w]
[locals()[name]for name in w]
之类的操作,但通常当您出于调试目的以外的目的执行此操作时,这是一个坏主意。我明白了。非常感谢你的提醒。真的很有帮助!