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))
答案 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
换句话说,负宽度字段没有任何意义。