【发布时间】:2017-11-03 01:38:40
【问题描述】:
我有一组数据,我转置以将数据组放入行中,并在列中具有占位符值(对于我的情况,一系列质量值)。我的下一个目标是为包含相同字符的每一行绘制直方图,如下所示:
mz 902.4 909.4 915.3
n 0.6 0.3 1.4
n.1 0.4 0.3 1.3
n.2 0.3 0.2 1.1
n.3 0.2 0.2 1.3
n.4 0.4 0.3 1.4
DCIS 0.3 1.6
DCIS.1 0.3 1.2
DCIS.2 1.1
DCIS.3 0.2 1.2
DCIS.4 0.2 1.3
DCIS.5 0.2 0.1 1.5
br_1 0.5 0.4 1.4
br_1.1 0.2 1.3
br_1.2 0.5 0.2 1.4
br_1.3 0.5 0.2 1.6
br_1.4 1.4
我的目标是从 902.4 开始为那些字母 n 作为第 1 组、DCIS 作为第 2 组的人绘制直方图,并且这些组要在同一个直方图中。然后我计划通过列迭代相同的过程,因此代码应该产生相同数量的直方图列。
以下是我目前的代码(输入文件是转置前的 excel xlsx 文件):
nh = pd.ExcelFile(nheight)
df = pd.read_excel(nh, index=False)
dfn = df.filter(like='n', axis=0)
dfbr1234 = df.filter(like='br', axis=0)
plt.figure()
plt.hist([dfn, dfbr1234], bins=50)
plt.show()
我试图将带有字母“br”的行组合成一个组,仅用于测试,但它产生的零大小数组是减少操作的最小值,没有身份错误。
编辑: 所以数据框是上面的表格。
我想要做的是绘制一个直方图,其中包含 3 个单独的直方图,由上面屏幕截图中的黑色、红色和橙色框指定。目标是比较单个图中的不同框,我想进行迭代,以便我可以对其他两列(图片中的第 2 和第 3 列)执行相同的操作。我尝试使用 df.filter 函数来过滤 'like='n'' 等等,但我不确定如何组合不同的过滤数据以及遍历列。上面的代码还没有迭代,但我正在考虑使用 iloc[:,variable] 进行迭代。
【问题讨论】:
-
我认为提供的代码很难理解您的问题。您可以将您的问题转换为 MCVE 吗?即,您想从顶部的数据框中实现什么?
-
为澄清而编辑了帖子。