DataFrame的愚蠢bug记录
花了快一小时debug这个错误:TypeError: only integer scalar arrays can be converted to a scalar index,怎么也查不到原因,最后发现是一个小错误。。
原本的代码
import pandas as pd
import numpy as np
data = np.array([['Sky','John','Lily'],
[18,20,23]])
columns = ['名字','年纪']
df = pd.DataFrame(data.T,columns=[columns])
print(df)
for n in df['名字']:
print(n)
报错:TypeError: only integer scalar arrays can be converted to a scalar index
大家有没有发现错在哪里呢?
错误原因
在df = pd.DataFrame(data.T,columns=[columns])
这行。columns已经是一个list了,而我忘记了又加上了个[],去掉columns外面的[]之后,就可以正常运行啦。