下面是一个按照文本列值进行分组和绘图的解决方法的代码示例。
import pandas as pd
import matplotlib.pyplot as plt
# 创建示例数据
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Score': [80, 90, 85, 75, 95, 80, 70, 85, 90]}
df = pd.DataFrame(data)
# 按照Name列进行分组
grouped = df.groupby('Name')
# 绘制分组后的数据
fig, ax = plt.subplots()
for name, group in grouped:
ax.plot(group['Score'], label=name)
# 设置图例和标题
ax.legend()
ax.set_title('Scores by Name')
# 显示图形
plt.show()
这个示例代码使用了pandas
库来创建一个包含姓名和分数的DataFrame对象。然后,使用groupby
方法按照Name列进行分组。接下来,使用matplotlib
库来绘制每个分组的分数数据。最后,设置图例和标题,并通过plt.show()
来显示图形。
运行这段代码后,将会生成一个按照姓名分组的折线图,其中每条折线表示一个姓名对应的分数。