【发布时间】:2012-10-10 09:10:05
【问题描述】:
我有一个关于在 pandas df 上绘图的基本(几乎是天真的)问题。鉴于下面的 df,我正在尝试为 'stats_value' 和 'read1_length' v/s 'lib_name' 绘制堆栈条图。
temp1=
parent_library_name lib_name stats_value read1_length
58 None CXYY 106 150
311 CXYY CSGW 128 150
432 CXYY CSNS 109 150
552 CXYY CXPS 125 150
671 CXYY CXOA 123 150
1113 CXYY CXOC 108 150
1394 CXYY CXOO 129 150
1675 CXYY CXOP 101 150
1794 CXYY CXSP 132 150
1914 CXYY CXOY 116 150
2356 CXYY CXSO 69 150
2635 CXYY CSHT 77 150
2914 CXYY CXSU 76 150
尝试了以下方法:
c=temp1.set_index('lib_name')
c[['stats_value','read1_length']].plot(kind='bar',stacked=True)
Error:
TypeError: unsupported operand type(s) for +: 'numpy.float64' and 'str'
尝试了一些简单的东西来测试:
c=temp1.set_index('lib_name')
c[['stats_value']].plot()
Error:
AttributeError: 'numpy.ndarray' object has no attribute 'find'
所以我认为我在这里遗漏了一些技巧。
最好, -阿比
【问题讨论】:
-
检查您的列名对齐方式。似乎 stats_value 不是数字。
-
@Chang : 示例数据框中的第一列是熊猫数据框中的索引
-
@Chang :您的建议确实为我指明了正确的方向。我的 stats_value dtype 不是 int/float。现在修好了