ValueError: Columns must be same length as key 报错不仅限于列值不一致时,还会由于赋值方法不对而报错,比如不能一次赋值多列。
d={ 'NUM' : range(3),
'C' : ['c1','c2','c3']}
df = pd.DataFrame(data=d)
# df[['D']] = [1,2,3]
# df[['D','E']] = {'D':[1,],'E':[2]}
# df.loc[:,['D','E']] = [1,2,3],[2,3,4]
######## above is wrong:ValueError: Columns must be same length as key;the following is correct ##############
# df.loc[:,['D','E']] = 2,3
# df[['D','E']] = 2,3
# df.loc[:,['D']] = [1,2,3]
# df.loc[:,['E']] = [2,3,4]
# df = pd.concat([df,pd.DataFrame({'D':[1,2,3],'E':[3,4,5]})],axis=1)
df = df.assign(D=range(5,8),E=[1,2,3]) # 最佳,要多用
df
参考:https://blog.csdn.net/QQ315806208/article/details/113876882