plt.pie(survived_df[['Pclass','Survived']].groupby('Pclass').sum(),labels=['1','2','3'],autopct='%1.0f%%')出现错误ValueError: x must be 1D
时间: 2023-08-29 22:06:17 浏览: 92
这个错误通常是由于 `plt.pie()` 函数中的第一个参数不是一维数组引起的。在您的代码中,`survived_df[['Pclass','Survived']].groupby('Pclass').sum()` 返回的是一个 `Pandas DataFrame`,而不是一个一维数组。
要解决这个问题,您可以使用以下代码:
```python
plt.pie(survived_df[['Pclass','Survived']].groupby('Pclass').sum()['Survived'], labels=['1','2','3'], autopct='%1.0f%%')
```
这里我们使用 `groupby` 方法按 'Pclass' 分组,然后使用 `sum()` 方法来计算每个组中幸存乘客的数量。最后,我们使用这些值来绘制饼图。
相关问题
plt.pie(df[['Pclass','Survived']].groupby(['Pclass']).count(),labels=['1','2','3'],autopct='%1.0f%%')如何按以上方法修改这行代码
如果您想要根据 'Survived' 列来计算每个 'Pclass' 组的求和并绘制饼图,可以使用以下代码:
```python
plt.pie(df[['Pclass','Survived']].groupby(['Pclass']).sum()['Survived'], labels=['1','2','3'], autopct='%1.0f%%')
```
这里我们使用了 `groupby` 方法来按 'Pclass' 分组,然后使用 `sum()` 方法来计算 'Survived' 列的和。最后,我们只选择了 'Survived' 列,并使用它来绘制饼图。
阅读全文