Python Panda 数据框按月-年排序

标签 python sorting pandas graph

我是 python 和 pandas 初学者,在 groupby 操作后对数据框进行排序时遇到问题。我可以在 groupby 和 count 之后获得排序的数据,但是当我将所有数据放在另一个数据框中时,我没有获得排序的数据。

这是我的尝试

conn = sqlite3.connect('Demo.sqlite')

df = pd.read_sql("SELECT * FROM Table where Column  LIKE 'x.%'", conn)
pf = pd.read_sql("SELECT * FROM Table", conn)

df['DateTime'] = df['DATE'].apply(lambda x: dt.datetime.fromtimestamp(x).strftime('%b %Y'))
pf['DateTime'] = pf['DATE'].apply(lambda x: dt.datetime.fromtimestamp(x).strftime('%b %Y'))

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

df1 = df1.sort(['DateTime'])
pf1 = pf1.sort(['DateTime'])

R1= df1['DateTime'].groupby(lambda x: x)
R2= pf1['DateTime'].groupby(lambda x: x)
TT= TotalBuild.count() - PrivateBuild.count()

result = pd.DataFrame({'R1': R1.count(),
                       'TT': TT,
                       'R2': R2.count()
                       })

这是结果数据帧的输出。

Check the output of Result data frame here

我想按月年对数据框进行排序。目前数据框按月份排序,这就是为什么一月份的所有数据都一起显示的原因。一旦数据排序,我想绘制条形图。

最佳答案

一种简单的方法是将索引转换为日期,排序,然后转换回月-年。

result.index = pd.to_datetime(result.index)
result.sort_index(inplace=True)
result.index = monthly_transpose.index.strftime('%B-%Y')

当转换为日期时,pandas 会将月年转换为每个月的第一个日期,因此可以进行排序。希望对您有所帮助。

关于Python Panda 数据框按月-年排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777828/

相关文章:

python - 使用 AWS Lambda 从 twilio 发送(而不是回复)短信

python - 如何将模糊函数与 apply(lambda x : ) function?

sorting - Mergesort 没有正确计算 1 的左右尺寸

sorting - 自然mergesort链表

python - 如何根据另一个数据帧中的(日期)值过滤数据帧

python - Pandas Dataframe内存read_csv

python - 访问 types.Literal 值

python - 创建程序的不同运行并使用其输出

python - 即使未提供参数,基本查询也能正常工作

php - 如何根据id获取页码