【问题标题】:Trying to plot Data from a pandas dataframe试图从熊猫数据框中绘制数据
【发布时间】:2021-08-17 16:07:52
【问题描述】:

我正在尝试使用 pandas 数据框构建一个简单的折线图。数据框包含一个包含日期条目的列。每个日期都有几行数据。我想按日期对数据进行分组,计算每组的条目数,并用 altair 折线图显示数据。

我尝试了几种方法,但找不到解决方案。我认为将数据复制到新的数据框中将是最好的解决方案。 通过以下函数从 csv 填充数据框

def read_csv(rows):
    parse_dates = ['Gemeldet_Am']
    data = pd.read_csv(path+file,nrows=rows, parse_dates=parse_dates)
    data['Gemeldet_Am'] = pd.to_datetime(data['Gemeldet_Am']).dt.date
    return data

数据框的打印如下所示:

![在此处输入图片描述][1]

我想按蓝色框中的所有内容进行分组,然后计算红色框中的数据。然后,altair 图表应显示每天(蓝色数据)红色数据的总和

【问题讨论】:

  • 您好,请举例说明您的数据框。您是否尝试过使用 count as agreate 函数的 groupby 函数?

标签: python pandas altair


【解决方案1】:

以下是一个折线图示例,其中包含按日期分组的计数,其数据与您的数据相似:

import altair as alt
import pandas as pd

df = pd.DataFrame({
    'date': pd.to_datetime(['2021-01-13', '2021-01-13', '2021-01-13', '2021-01-13',
                            '2021-01-14', '2021-01-14', '2021-01-14', '2021-01-15',
                            '2021-01-15', '2021-01-16', '2021-01-17', '2021-01-17']),
    'SAG': ['SAG-2101-1350', 'SAG-2101-1352', 'SAG-2101-1355', 'SAG-2101-1370',
            'SAG-2101-1373', 'SAG-2101-1378', 'SAG-2101-1382', 'SAG-2101-1385', 
            'SAG-2101-1391', 'SAG-2101-1393', 'SAG-2101-1394', 'SAG-2101-1397']
})

alt.Chart(df).mark_line().encode(
    x='date:T',
    y='count():Q'
)

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 1970-01-01
    • 2013-08-16
    • 2018-03-19
    • 1970-01-01
    • 2016-01-07
    • 2021-09-26
    • 2017-12-16
    相关资源
    最近更新 更多