MatPlotLib键错误:0注释时

时间:2015-12-30 15:22:11

标签: python-3.x pandas

在这段代码中,我试图创建一个带有一个条形的条形图(作为“总”条,它将放在其他条形图旁边),并带有一个数据框切片。它适用于数据帧的另一个片段,但对于“总”片(只是一行),我不断得到这个“键错误:0”:

<?php defined('_JEXEC') or die;

// Include the helper.
require_once __DIR__ . '/helper.php';

// Instantiate global document object
$doc = JFactory::getDocument();

$js = <<<JS
(function ($) {
    $(document).on('click', 'input[type=submit]', function () {
        var value   = $('input[name=data]').val(),
            request = {
                    'option' : 'com_ajax',
                    'module' : 'hello_ajax_world',
                    'data'   : value,
                    'format' : 'raw'
                };
        $.ajax({
            type   : 'POST',
            data   : request,
            success: function (response) {
                $('.status').html(response);
            }
        });
        return false;
    });
})(jQuery)
JS;

$doc->addScriptDeclaration($js);

require JModuleHelper::getLayoutPath('mod_hello_ajax_world');

...

x_4t = dfCOPN['Percent'][-1:]
y_4t = dfCOPN['index'][-1:]
ind4t = np.arange(len(y_4t))

这是错误:

for i, text in enumerate(ind4t):
    if x_4t<72:
        ax4t.annotate(str(x_4t)[:-2]+"%", xy=(x_4t+2,ind4t+0.4),fontsize=9, color='black', va='center', ha='left')
    elif x_4t>=72:
        ax4t.annotate(str(x_4t[i])[:-2]+"%", xy=(x_4t[i]-2,ind4t[i]+0.4),fontsize=9, color='white', va='center', ha='right')

如果需要,我会发送一个完整的例子,但我只是想看看答案是否足够明显,不能这样做。

提前致谢!

1 个答案:

答案 0 :(得分:3)

TL; DR;使用iloc

x4t.iloc[0]   

问题是pd.Series使用索引而非[]的位置索引。当你使用Series索引的值是有趣的事情时,这是一个强大的思想/位语法,而不是Series中的位置(除了日期索引),但是如果您希望Series / DataFrames的行为与numpy数组完全相同,那么您将遇到问题(我从此处获得经验)。