2024-04-18 11:47:40 发布
网友
我有数据帧
df=df.astype(np.float) df.head() x y 1 0.6 2 0 1.1 1 3 3.4 4 2 4.3 3
我试图用它生成一个箱线图
ax= plt.gca() ax.boxplot(df[['x','y']])
但出现以下错误: TypeError: cannot perform reduce with flexible type
TypeError: cannot perform reduce with flexible type
我无法理解为什么,因为数据帧中的所有值都是数字
一个错误很容易解释。它无法处理数据帧的输入。尽管数据帧和数组具有相似的表示形式,但它们有一个本质区别,即[n for n in df[['x','y']]]的输出是列名列表(['x','y']),而不是列值。我想您希望在boxplot方法中使用值,因此df[['x','y']]应该替换为df[['x','y']].values
[n for n in df[['x','y']]]
['x','y']
boxplot
df[['x','y']]
df[['x','y']].values
一个错误很容易解释。它无法处理数据帧的输入。尽管数据帧和数组具有相似的表示形式,但它们有一个本质区别,即
[n for n in df[['x','y']]]
的输出是列名列表(['x','y']
),而不是列值。我想您希望在boxplot
方法中使用值,因此df[['x','y']]
应该替换为df[['x','y']].values
相关问题 更多 >
编程相关推荐