我有一个关于 Python 中的 pandas 数据框的问题:我有一个大数据框df
,我将它分成两个子集,df1
并且df2
. df1
并且df2
一起不构成所有df
,它们只是它的两个互斥子集。我想用 rpy2 在 ggplot 中绘制它,并根据它们是否来自df1
或显示在图中的变量df2
。ggplot2 需要一个融化的数据框,所以我必须创建一个新的数据框,其中有一列说明每个条目是否来自df1
or df2
,以便可以将此列传递给 ggplot。我试着这样做:
# add labels to df1, df2
df1["label"] = len(df1.index) * ["df1"]
df2["label"] = len(df2.index) * ["df2"]
# combine the dfs together
melted_df = pandas.concat([df1, df2])
现在它可以绘制为:
# plot parameters from melted_df and colour them by df1 or df2
ggplot2.ggplot(melted_df) + ggplot2.ggplot(aes_string(..., colour="label"))
我的问题是是否有一种更简单、更快捷的方法来做到这一点。ggplot 需要不断熔化/不熔化 dfs,总是手动将熔化的形式添加到 df 的不同子集似乎很麻烦。谢谢。