如何从数据框中按行绘图,使每列都是一个点

2024-06-08 02:58:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图绘制一个线图,它将根据列值波动

我的pandas数据框有10列,分别代表每天(我的列的名称是day1、day2、…、day10)和3行,每一行显示一个单一的特征,我想查看它们每天的变化(马铃薯、洋葱和草莓的日销售额百分比)

我已经试过了

timeseries.plot()
pyplot.show()

我得到的是: http://img4.imagetitan.com/img.php?image=19_problem.png

(“Feature”在这张图片中是索引的列名,而不是0,1,2作为行名,我有土豆,洋葱和草莓)

我想分别为每一行实现:http://img4.imagetitan.com/img.php?image=19_question.png

如果有人能帮我,我会很高兴的。 提前谢谢


Tags: 数据imagecomhttppandasimgpng绘制
1条回答
网友
1楼 · 发布于 2024-06-08 02:58:27

尝试转置数据帧:

timeseries.T.plot()

mcve公司:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.random((3, 10)), columns=[f'day{i}' for i in range(10)], index=['Potato', 'Onion', 'Strawbery'])

               day0      day1      day2  ...      day7      day8      day9
Potato     0.232951  0.764059  0.876049  ...  0.631673  0.185351  0.139135
Onion      0.516356  0.149735  0.630793  ...  0.389646  0.111144  0.799737
Strawbery  0.768387  0.597404  0.335025  ...  0.950945  0.038993  0.996456

[3 rows x 10 columns]


df.T.plot()

enter image description here

如果你想知道为什么,请看一下df.T

df.T
        Potato     Onion  Strawbery
day0  0.232951  0.516356   0.768387
day1  0.764059  0.149735   0.597404
day2  0.876049  0.630793   0.335025
day3  0.442927  0.646496   0.034924
day4  0.794574  0.061397   0.385407
day5  0.517380  0.480174   0.979457
day6  0.068231  0.332127   0.272894
day7  0.631673  0.389646   0.950945
day8  0.185351  0.111144   0.038993
day9  0.139135  0.799737   0.996456

相关问题 更多 >

    热门问题