猿问

如何在 Matplotlib 中绘制 Excel 文件中的特定行?

我有一个如下所示的 Excel 文件:

我想在条形图上绘制 2020 年 1 月 1 日所有 3 个人的体重,以便使用 Matplotlib 在 Python 中进行直观比较。我怎样才能做到这一点?



UYOU
浏览 147回答 2
2回答

临摹微笑

这可能是用熊猫最简单的方法:import pandas as pdimport datetime as dtdf = pd.read_excel('your_file_location', sheet_name='sheet_name', parse_dates=['Date'])df = df.loc[df['Date'] == dt.date(year=2020, month=1, day=1)]ax = df.plot.bar(df['Name'], df['Weight'])在这里,我们首先从您的 excel 文件的特定工作表加载数据(sheet_name如果您的 excel 文件只有一个工作表,您可以省略参数),然后我们过滤数据以仅显示特定日期的记录,然后在 x 轴上绘制名称和 y 轴上的权重。

当年话下

import pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('C:\\Desktop\\file.csv', index_col = 'Date', parse_dates = True)  #importing data to python and making date column as indexdf['year'] = df.index.year #extracting year from indexdata_20 = df[df['year'] == 2020] # Filtering out 2020 dateax = data_20.plot(kind='bar',x='Name',y='Weight') #Plotting by name for 2020只为 2 人绘制:ax = data_20[data_20['Name'] != 'John Smith'].plot(kind='bar',x='Name',y='Weight') #Plotting by name for 2020ax.set_ylabel('Weights in lbs') #Labeling y-axisax.set_xlabel('Names') #Labeling x-axisax.set_title('Weights for 2020') # Adding the title为了让它漂亮,只需添加标签:ax.set_ylabel('Weights in lbs') #Labeling y-axisax.set_xlabel('Names') #Labeling x-axisax.set_title('Weights for 2020'); # Adding the title
随时随地看视频慕课网APP

相关分类

Python
我要回答