groupby python_使用python画数据大图,数倍提升工作效率

562daae75e05567e722a8ecf39d40204.png

日常工作中果果经常要处理各种各样的数据。说到数据分析,Excel是不错的选择,毕竟Excel提供了很方便的交互式界面,数据过滤和可视化功能。基本上你能想到的功能,Excel都能提供。

但是问题在于,同样的数据可能每月每周甚至每天都会更新,比如说销售数据。每一次数据更新,意味着要手动做一系列事情:

导入到Excel里->调整格式->数据处理->画图->排版->分析->发给领导

这样的工作单次可能耗时不多,但是经常做、每天做,就有点让人抓狂了。

如何从机械式的工作中解脱出来呢,当然是使用python了!

下面果果给大家展示一张python绘制的图:

532f49f4dd53de2213cdddb6fdee273e.png

这是一张用python绘制的图,它有几个特点:

  1. 自动绘图:是导入数据后程序自动出的图;
  2. 自动排版:这是一张组合图,程序自动排版。对于单个子图来说,组图的信息更丰富,给人的感官带来很好的体验;
  3. 形式多样:包含各种常用的图,包括折现图,饼图,散点图,直方图等;

自从果果在工作中使用了python绘图之后,再也不用手动调数据画图了。只要新的数据来了,自动出一张大图。这样可以把更多的时间放在分析数据上。

这样一来,原来的工作流,就被简化成了:

自动出图->数据分析->发给领导

不仅省了很多力气,而且把时间和精力聚焦在了最重要的部分,也就是写数据分析报告。这块做的越好,领导越满意。

好了,说了这么多,下面就由小六六手把手教你怎么做这样一张大图。

Step1. 加载python中必要的库

import 

这里使用了matplotlib绘图,使用pandas加载和处理数据。

Step2.读取数据

这里果果并没有使用真的数据,而是自己造了一组数,见下面代码

dates = pd.date_range('20170101', periods=300)
df = pd.DataFrame(np.random.rand(300,4), index=dates, columns=list('ABCD'))

23be11be71b90c98335e7c0537cce0f7.png

如上图所示,这里的A、B、C、D可以业务上有不同含义的数据,比如四种商品的点击量,出售数量等。

我们可以简单的把这组数据视为四种物品每天的出货量。

Step3.处理数据

这一部分就需要结合具体的业务了;一般来说业务数据的处理流程是固定的,因此这里写好之后就不用再改动了。当然,后续调整的话也很方便。

///按月份对商品数据求和
date_groupby = df.groupby(lambda x:pd.datetime.strftime(x,'%Y-%m')).apply(sum)
///统计四种商品的出货总量占比
date_sum = df.apply(sum)
date_ratio = date_sum/date_sum.sum()

Step4.画图

处理好各种数据之后,就可以调用绘图工具画图啦。这里根据大家想要的呈现形式,调用matplotlib强大的功能,就可以自动生成各式各样的图。

fig = plt.figure(figsize=(8,9))

ax_0 = fig.add_subplot(3, 1, 1 )
ax_0_twin = ax_0.twinx()

ax_0_twin.bar(date_groupby.index,date_groupby["A"],width = 0.2,label = "A")
plt.ylim((0, 25))

ax_0.plot(date_groupby.index,date_groupby["B"],color = "r", label = "B")

ax_0_twin.set_title(r'Distribution over month',fontsize=15)
ax_0.legend(loc=2, prop={'size': 12})
ax_0_twin.legend(loc=1, prop={'size': 12})
ax_0.set_ylabel(r'B_count',fontsize=11)
ax_0_twin.set_ylabel(r'A_count',fontsize=11)


ax_1 = fig.add_subplot(3, 2, 3 )
rng = np.random.RandomState(10)
colors = rng.rand(50)
sc = ax_1.scatter(df["A"].iloc[0:50],df["B"].iloc[0:50], 
                  c=colors,s=100*df["C"].iloc[0:50])
plt.colorbar(sc)


ax_2 = fig.add_subplot(3, 2, 4 )
ax_2.pie(date_ratio,
        labels=date_ratio.index , autopct = '%3.1f%%',
       startangle = 180, shadow = True)

ax_3 = fig.add_subplot(3, 1, 3 )
ax_3.hist(df["A"],bins = 100)
ax_3.set_title(r'A hist over day',fontsize=15)

最后看一眼生成的图:

532f49f4dd53de2213cdddb6fdee273e.png

用python绘图,解放双手,释放创造力!你学会了么?

文中相关的代码已经整理好,关注公众号 果果数据,回复 “画图” 即可获得下载链接。

e9cf6bae9ab9aab03562c77fb2e51317.png

其他文章:

小六六:使用Python做中文分词和绘制词云​zhuanlan.zhihu.com
8f686cad5c6dbf0a41fc8adf75962718.png
小六六:使用Python爬取12306数据:如何抢到从北京回家的票​zhuanlan.zhihu.com
ddf6da6132cda6e80dd097151a89fdbe.png
小六六:如何使用python做中文情感分析​zhuanlan.zhihu.com
5c320c462136e0955872d99c58302ff9.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用pandas库读取csv文件并进行数据处理。使用pandas.read_csv()函数可以读取csv文件并将其存储在pandas DataFrame。例如: ``` import pandas as pd data = pd.read_csv("data.csv") ``` 读取完csv文件后,可以使用DataFrame的各种函数进行数据处理,如筛选、排序、统计等。最后使用to_csv函数存储到新的csv文件 ``` data.to_csv("new_data.csv",index=False) ``` ### 回答2: Python pandas是一个数据处理库,其灵活的数据结构和数据分析能力使得它在数据处理和分析领域受到广泛关注。其的CSV(Comma Separated Value,逗号分隔值)文件也是广泛使用的一种数据格式。 要使用pandas处理CSV文件,需要先安装pandas库。在安装好pandas库之后,可以使用read_csv()函数将CSV文件读取到pandas的DataFrame对象进行处理。read_csv()函数有各种不同的参数选项,用于读取不同格式的CSV文件。 常见的CSV文件可以包含各种数据类型,包括字符串、整数、浮点数、日期等。pandas可以使用不同的数据类型来自动识别每一列的数据类型,也可以手动指定每一列的数据类型,从而更好地处理数据。pandas提供了一些函数来对数据进行操作,例如dropna()函数可以删除包含缺失值的行或列,fillna()函数可以用指定值填充缺失值,groupby()函数可以将数据按照指定的列进行分组。 另外,pandas还可以将数据保存到CSV文件使用to_csv()函数可以将DataFrame对象写入到CSV文件,并且可以指定文件的格式和各种参数。to_csv()函数可以保存到本地文件,也可以保存到在线存储库或数据。 总之,pandas是一个非常强大和灵活的数据处理库,可以方便地处理各种数据类型,包括CSV文件。使用pandas可以提高数据处理和分析的效率,并且具有较好的可读性和可维护性。 ### 回答3: Python pandas是一个开数据分析库,它提供了丰富的数据结构和函数,可以高效地处理大规模数据,并提供方便的数据分析工具,如数据过滤、排序、分组、汇总、时序数据处理等。其,pandas的CSV数据处理功能极为强大,让我们能够轻松地读取和处理CSV数据。 CSV(Comma Separated Values)是一种常见的数据格式,通常由逗号分隔不同字段。pandas提供了read_csv()函数,可以读取CSV文件,并将其转换为pandas DataFrame对象,方便数据分析和处理。下面是一个简单的读取CSV文件的代码示例: ``` import pandas as pd data = pd.read_csv('data.csv') print(data.head()) ``` 在读取CSV文件时,我们可以通过可选参数设置一些读取选项,例如分隔符、数据类型、缺失值表示方式等。例如,将分隔符设置为制表符: ``` data = pd.read_csv('data.csv', delimiter='\t') ``` 读取CSV数据后,我们可以使用pandas DataFrame对象的各种函数进行数据分析和处理。例如,使用head()函数显示前若干行数据: ``` print(data.head(10)) ``` 使用describe()函数汇总数据的各种统计信息: ``` print(data.describe()) ``` 使用groupby()函数按照某个字段分组,并进行统计: ``` grouped_data = data.groupby('category').sum() print(grouped_data) ``` pandas还提供了to_csv()函数,可以将处理后的数据保存为CSV文件,便于后续处理和分析。 总之,pandas是一款强大的数据处理工具,对于需要处理大规模的CSV数据的工作来说,是一个非常实用的工具。合理利用pandas的CSV数据处理功能,我们能够更轻松地处理和分析数据,提高工作效率

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值