您遇到的错误是因为数据中的人数列包含了非数字字符。要解决这个问题,您可以使用正则表达式来提取数字部分,并将其转换为浮点数。以下是一个可能的解决方法:

import re
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('data.csv')  # 假设您的数据在data.csv文件中

# 使用正则表达式提取数字部分并转换为浮点数
data['人数'] = data['人数'].apply(lambda x: float(re.search(r'\d+', x).group()))

plt.pie(data['人数'], labels=data['年龄'], autopct='%1.1f%%')
plt.show()

在上述代码中,我们使用re.search(r'\d+', x).group()来提取字符串中的数字部分,并通过float()函数将其转换为浮点数。然后,我们再使用修正后的数据绘制饼图。

请注意,上述代码假设您的数据存储在名为data.csv的文件中,并且年龄和人数列分别为'年龄'和'人数'。您需要根据实际情况进行调整

Traceback most recent call last File E2021104094_张婧怡Code_2021104094_张婧怡用户年龄比例py line 9 in module pltpiedata人数 labels=data年龄 autopct=11f File Danacondalibsite-packagesmatplotlibpyplotpy line 2744

原文地址: https://www.cveoy.top/t/topic/hFHJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录