【发布时间】:2017-07-05 17:50:23
【问题描述】:
我有一个看起来有点像这样的小数据框:
csv = [{"Oranges" : 12, "Apples" : 4, "Kiwis" : "Yes"}, {"Oranges" : 1, "Apples" : 8, "Kiwis" : "No"}, {"Oranges" : 1, "Apples" : 14, "Kiwis" : "Yes"}, {"Oranges" : 11, "Apples" : 3, "Kiwis" : "No"}, ]
df = pd.DataFrame(csv)
只是,它有更多的列。我想为每列绘制一个海底小提琴图。如果我手动创建每列的图,它看起来有点像这样:
sns.violinplot(y="Oranges", x="Kiwis", data=df, split=True, inner="quart")
sns.violinplot(y="Apples", x="Kiwis", data=df, split=True, inner="quart")
但是,给定大约 100 个列,我想逐列遍历数据帧 col。
我尝试构建一个小函数,如下所示:
def violin(col):
sns.violinplot(y=col, x="Kiwis", data=df, split=True, inner="quart")
我的想法是使用apply() 将其用于每一列...但到目前为止它确实有效.. 有什么想法吗?
【问题讨论】:
标签: python-3.x pandas foreach seaborn