【发布时间】:2018-09-06 09:17:35
【问题描述】:
在 Python pandas 中,我需要从多维 DataFrame 做一个分面网格。
在a 和b 列中,我保存了标量值,它们表示实验的条件。
在 x 和 y 列中,我有两个 numpy 数组。列x 是数据的x 轴,列y 是对应于f(x) 的函数的值。
显然x 和y 的元素数量相同。
我现在想做一个 facet grid,其中行和列指定条件,并在网格的每个单元格中,绘制 D 列与 D 列的值。
这可能是一个最小的工作示例:
import pandas as pd
d = [0]*4 # initialize a list with 4 elements
d[0] = {'x':[1,2,3],'y':[4,5,6],'a':1,'b':2} # then fill these elements
d[1] = {'x':[3,1,5],'y':[6,5,1],'a':0,'b':3}
d[2] = {'x':[3,1,5],'y':[6,5,1],'a':1,'b':3}
d[3] = {'x':[3,1,5],'y':[6,5,1],'a':0,'b':2}
pd.DataFrame(d) # create the pandas dataframe
如何使用现有的分面函数来解决按条件a 和b 分组的y vs x 绘图问题?
由于我需要将此函数应用于具有不同列名的通用数据集,因此我想避免使用硬编码的解决方案,而是看看是否可以将 seaborn FacetGrid 函数扩展到此类问题。
【问题讨论】:
标签: python pandas seaborn facet