【发布时间】:2015-11-11 19:06:17
【问题描述】:
我正在尝试在seaborn 中创建一个小提琴情节。输入是一个 pandas DataFrame,看起来为了沿 x 轴分离数据,我需要在单个列上进行区分。我目前有一个 DataFrame,其中包含多个传感器的浮点值:
>>>df.columns
Index('SensorA', 'SensorB', 'SensorC', 'SensorD', 'group_id')
也就是说,每个Sensor[A-Z] 列都包含一堆数字:
>>>df['SensorA'].head()
0 0.072706
1 0.072698
2 0.072701
3 0.072303
4 0.071951
Name: SensorA, dtype: float64
对于这个问题,我只对 2 组感兴趣:
>>>df['group_id'].unique()
'1', '2'
我希望每个Sensor 都是沿 x 轴的独立小提琴。
我认为这意味着我需要将其转换为以下形式:
>>>df.columns
Index('Value', 'Sensor', 'group_id')
其中新 DataFrame 中的 Sensor 列包含文本“SensorA”、“SensorB”等,新 DataFrame 中的 Value 列包含每个 Sensor[A-Z] 列中的原始值,并且保留组信息。
然后我可以使用以下命令创建小提琴图:
ax = sns.violinplot(x="Sensor", y="Value", hue="group_id", data=df)
我想我有点需要做一个反向枢轴。有没有简单的方法可以做到这一点?
【问题讨论】:
-
您能提供一些数据框中的数据吗?
-
我刚刚添加了一些示例数据