如何在绘图标题中打印数据框名称?

phy*_*ker 2 python dataframe pandas

我有一个函数,它获取一个数据框和一列,经过一些过程,绘制该列,如下行所示:

def plot_dist(df,col):
    ax=sns.countplot(x=col,data=df)
Run Code Online (Sandbox Code Playgroud)

当我对几个数据帧重复这个函数时,我想在图的标题中有数据帧名称,就像这样:“数据帧 df 中 col 的分布”

plt.title('Distribution of '+ col + 'in dataframe' + df.name );
Run Code Online (Sandbox Code Playgroud)

问:如何获取数据框名称?根据here,可以写df.name='DFNAME',然后通过df.name得到字符串。但是然后必须定义名称,我不确定它是否在循环中工作。谢谢!

小智 6

我在这里找到了不错的功能:(获取熊猫 DataFrame 的名称

def get_df_name(df):
    name =[x for x in globals() if globals()[x] is df][0]
    return name
Run Code Online (Sandbox Code Playgroud)

它会帮助你。

def plot_dist(df,col):
    ax=sns.countplot(x=col,data=df)
    ax.set_title(get_df_name(df))
Run Code Online (Sandbox Code Playgroud)