如何在Groupby

问题描述

我想将当前的x轴标签替换为如下所示的标签
标签= [“十月”,“十一月”,“十二月”,“一月”,“二月”,“三月”,“四月”,“五月”,“六月”,“七月”]

我用来生成绘图的代码是:

df.groupby(pd.Grouper(key='Date',freq='1M')).sum().plot.bar(legend=False)

我得到的输出如下所示,在这里您可以看到x轴带有标签作为日期。

enter image description here

如何用月份名称替换这些标签

解决方法

首先生成您的 groupby 结果:

PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/.
/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php:80
Stack trace:
#0 /var/www/html/     /vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(80): PDO->__construct()

然后将索引从“完整”日期更改为缩写的月份名称:

paths:
    migrations: '%%PHINX_CONFIG_DIR%%/db/migrations'
    seeds: '%%PHINX_CONFIG_DIR%%/db/seeds'

environments:
    default_migration_table: phinxlog
    default_environment: development
    production:
        adapter: mysql
        host: service_mysql
        name: mydb
        user: root
        pass: '123456'
        port: 3306
        charset: utf8

    development:
        adapter: mysql
        host: service_mysql
        name: my_database
        user: root
        pass: '123456'
        port: 3306
        charset: utf8

    testing:
        adapter: mysql
        host: localhost
        name: testing_db
        user: root
        pass: ''
        port: 3306
        charset: utf8

version_order: creation

最后画出你的身影:

tbl = df.groupby(pd.Grouper(key='Date',freq='M')).sum()

请注意结尾的tbl.set_index(tbl.index.month_name().rename('Month').map(lambda tt: tt[:3]),inplace=True) ,以防止其他有关 创建的对象的类型。

,

您可以看看Date formatters。存在一个DateFormatter类,该类接受一个strftime格式字符串的fmt参数。

Herestrftime()strptime()格式代码的引用。

要将格式设置为月份的缩写名称,您需要使用%b

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

ax = df.groupby(pd.Grouper(key='Date',freq='1M')).sum().plot.bar(legend=False)

ax.xaxis.set_major_formatter(mdates.DateFormatter(fmt='%b'))

plt.show()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...