索引错误:元组索引超出范围

时间:2015-12-05 02:30:21

标签: python-3.x

df = df.groupby('id', as_index=False).agg({'column1': lambda x: x.tolist()})
cols = sorted(list(set(df['column1'].sum())))
for c in cols:
    df[c] = 1
sessions[cols] = [1 if val in df['column1'] else 0 for val in cols] 

你能帮助我吗?我是新手,我想知道为什么会收到这个错误

详细错误

for count in range(10,60,10):
    myWidth = 30 - count
    mywidth2 = myWidth + 30
    myCharacter = '#'
    print('{0:>{width}}''{6:<{width2}}'.format(
            myCharacter, width=myWidth, width2=mywidth2))

1 个答案:

答案 0 :(得分:0)

格式中的6表示在格式参数列表中使用第7个位置参数,并且没有这样的参数。这是同一错误的简化版本。

>>> '{1}'.format(1)
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    '{1}'.format(1)
IndexError: tuple index out of range

6更改为0以再次使用相同的字符,并添加括号以分隔输出

for count in range(10,60,10):
    myWidth = 30 - count
    mywidth2 = myWidth + 30
    myCharacter = '#'
    print('[{0:>{width}}{0:<{width2}}]'.format(
            myCharacter, width=myWidth, width2=mywidth2))

一个得到

[                   ##                                                 ]
[         ##                                       ]
[##                             ]
Traceback (most recent call last):
  File "F:\Python\mypy\tem.py", line 6, in <module>
    myCharacter, width=myWidth, width2=mywidth2))
ValueError: Sign not allowed in string format specifier

换句话说,负宽度字段没有任何意义。