gpt4 book ai didi

python - 在 panda 中使用多个 groupby 计数绘制条形图

转载 作者:太空宇宙 更新时间:2023-11-03 17:48:54 24 4
gpt4 key购买 nike

我正在尝试使用 pandas 绘制条形图。 DataTime 是我从时间戳中获取的索引列。这是表结构:

table structure

到目前为止我已经写了这个:

import sqlite3
from pylab import *
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime as dt

conn = sqlite3.connect('DEMO2.sqlite')
df = pd.read_sql("SELECT * FROM Data", conn)
df['DateTime'] = df['DATE'].apply(lambda x: dt.date.fromtimestamp(x))

df1 = df.set_index('DateTime', drop=False)

grouped= df1['DateTime'].groupby(lambda x: x.month)
#df1.groupby([df1.index.month, 'DateTime']).count()
grouped.count()

我想要这样的输出:

date vs. X and Y

六月共有 4 个条目,其中一个条目以 u 开头。所以 X 有 4 y 有 1。七月也是如此。

我还想使用输出绘制条形图(X 和 Y 条目)。我想要月份与值条形图

最佳答案

我会用字典创建 DataFrame:

result = pd.DataFrame({'X': g.count(),
'Y': g.apply(lambda x: x.str.startswith('u').sum())})

现在您可以使用绘图方法来绘制月份与值的关系图。

result.plot()
<小时/>

注意:您可以更有效地创建分组:

grouped = df1['DateTime'].groupby(df1['DateTime'].dt.to_period('M'))

grouped = df1['DateTime'].groupby(df1['DateTime'].dt.month) # if you want Jan-2015 == Jan-2014

关于python - 在 panda 中使用多个 groupby 计数绘制条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29355307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com