当前位置:   article > 正文

关于简单的数据可视化_pd.read.excel

pd.read.excel

1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包

 使用清华源,命令如下:

  1. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandas
  2. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlib
  3. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn openpyxl

安装成功后,可以进入下一步。

2. 这里新建一个Excel表格方便说明一下:

  1. # 导包
  2. import openpyxl
  3. # 创建工作簿
  4. workbook = openpyxl.Workbook()
  5. # 选择默认的活动工作表
  6. sheet = workbook.active
  7. # 添加数据
  8. data = [
  9. ['Name','Age','Gender'],
  10. ['Mike','25','Male'],
  11. ['Alice','26','Female'],
  12. ['Bob','25','Male'],
  13. ['John','29','Male'],
  14. ['Charlie','30','Male'],
  15. ['Anna','25','Female'],
  16. ]
  17. for row in data:
  18. sheet.append(row)
  19. # 保存工作簿到文件,完成创建
  20. workbook.save("demo.xlsx")

运行代码生成如下表格:

3. 对性别进行可视化操作--绘制饼图:

  1. # 导包
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. # 读取Excel文件
  5. df = pd.read_excel("demo.xlsx")
  6. # 统计性别的数量
  7. gender_counts = df['Gender'].value_counts()
  8. # 提取性别作为标签
  9. genders = gender_counts.index.tolist()
  10. # 数据可视化 - 性别分布饼图
  11. fig, ax = plt.subplots()
  12. # pie函数用来绘制饼图
  13. ax.pie(gender_counts, labels=genders, autopct='%1.1f%%', startangle=90)
  14. ax.axis('equal') # 确保饼图为正圆形
  15. plt.title('Gender Distribution')
  16. plt.show()

运行结果如下图所示:

 4. 对姓名和年龄进行可视化操作--绘制柱状图:

  1. # 导包
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. # 读取Excel文件
  5. file_path = 'demo.xlsx' # 请将这里替换为你的Excel文件的路径
  6. df = pd.read_excel(file_path, engine='openpyxl')
  7. # 查看表格数据
  8. print(df.head())
  9. # 绘制年龄的条形图
  10. plt.figure(figsize=(10, 5))
  11. plt.bar(df['Name'], df['Age'])
  12. # x轴 y轴命名
  13. plt.xlabel('Name')
  14. plt.ylabel('Age')
  15. # 表名
  16. plt.title('Age by Name')
  17. plt.legend(["Number"], loc='upper right') # 添加图例,标注柱状图表示的是"Number"
  18. plt.show()

运行结果如下:

或者也可以根据单列(这里以年龄为横坐标)绘制柱状图:

  1. # 导包
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. import seaborn as sns
  5. # 读取Excel表
  6. file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
  7. df = pd.read_excel(file_path, engine='openpyxl')
  8. plt.figure(figsize=(10, 10))
  9. sns.displot(df['Age'])
  10. plt.title('Age Distribution')
  11. # 如果出现title显示不全,使用tight_layout函数即可
  12. plt.tight_layout()
  13. plt.show()

 

 5. 对表格数据进行可视化操作--生成散点图:

  1. # 导包
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. # 读取Excel文件
  5. file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
  6. df = pd.read_excel(file_path, engine='openpyxl')
  7. # 确保数据包含'Name', 'Age', 和 'Gender'列
  8. if 'Name' in df.columns and 'Age' in df.columns and 'Gender' in df.columns:
  9. # 创建散点图
  10. plt.scatter(df['Age'], df['Name'])
  11. plt.xlabel('Age')
  12. plt.ylabel('Name')
  13. plt.title('Scatter Plot')
  14. plt.show()
  15. else:
  16. print("数据表中缺少'Name', 'Age', 或 'Gender'列。")

运行结果如下:

 6. 对年龄数据进行可视化操作--绘制箱线图: 

  1. # 导包
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. # 读取Excel文件
  5. file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
  6. df = pd.read_excel(file_path, engine='openpyxl')
  7. # 绘制箱线图
  8. plt.figure(figsize=(10, 5))
  9. plt.boxplot(df['Age'])
  10. plt.title('Box Plot of Age')
  11. plt.xlabel('Name')
  12. plt.ylabel('Age')
  13. plt.show()

 运行结果如下:

 7. 对年龄数据进行可视化操作--绘制折线图:

  1. import matplotlib.pyplot as plt
  2. import pandas as pd
  3. # 读取Excel表
  4. file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
  5. df = pd.read_excel(file_path, engine='openpyxl')
  6. # 绘制折线图
  7. plt.plot(df['Age'])
  8. plt.title('Line Plot')
  9. plt.xlabel('Time')
  10. plt.ylabel('Age')
  11. plt.show()

运行结果如下: 

 

如果想对多个变量进行折线图的绘制,只需要将x轴和y轴的数据列替换为相应的列名即可。

这里绘制Gender和Age之间的关系折线图(不太恰当,为了举例):

  1. plt.plot(df['Gender'], df['Age'])
  2. plt.title('Gender vs Age Line Plot')
  3. plt.xlabel('Gender')
  4. plt.ylabel('Age')
  5. plt.show()

 

  8. 对年龄数据进行可视化操作--绘制直方图:

  1. import pandas as pd
  2. import seaborn as sns
  3. import matplotlib.pyplot as plt
  4. # 读取Excel表
  5. file_path = 'demo.xlsx' # 将文件名替换为你的Excel文件的路径
  6. df = pd.read_excel(file_path, engine='openpyxl')
  7. # 绘制直方图 bins参数指定了直方图的柱子数量
  8. sns.distplot(df['Age'], bins=20)
  9. plt.title('Age Distribution')
  10. plt.show()

结果如下: 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/768550
推荐阅读
相关标签
  

闽ICP备14008679号