前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于pandas的数据处理,重在groupby

关于pandas的数据处理,重在groupby

作者头像
一个有趣的灵魂W
发布2020-09-15 12:25:41
7870
发布2020-09-15 12:25:41
举报
文章被收录于专栏:一个有趣的灵魂W

一开始我是比较青睐于用numpy的数组来进行数据处理的,因为比较快。快。。快。。。但接触多了pandas之后还是觉得各有千秋吧,特别是之前要用numpy的循环操作,现在不用了。。。果然我还是孤陋寡闻,所以如果不是初学者,就跳过吧:

'''

首先上场的是利用pandas对许多csv文件进行y轴方向的合并(这里的csv文件有要求的,最起码格式要一致,比如许多系统里导出的文件,格式都一样,但就是文件数量太多了),当然首先需要读取一个csv文件,然后将剩下的贴上去。好像之前有转过一个excel版的合并,也是可以的。

'''

import pandas as pd

import os

csvpath='D:/minxinan/wrw/2018csv'

csvfile=os.listdir(csvpath)

#for i in xlsxfile:

# data_xls = pd.read_excel(xlsxpath+'/'+i)

# data_xls.to_csv('1.csv', encoding='gbk')

#

b=pd.read_csv(csvpath+'/'+csvfile[0], delimiter=',',encoding='gbk')

for i in csvfile[1:]:

a=pd.read_csv(csvpath+'/'+i, delimiter=',',encoding='gbk')

b=pd.concat([b,a],ignore_index=True)

###紧接着是时间序列的初步接触

b1=b[['时间']]

b1=b1.rename(columns={'时间':'datetime'})

b1['datetime'] = pd.to_datetime(b1['datetime'],format='%Y-%m-%d %H:%M:%S')#格式转为时间戳

year=[i.year for i in b1['datetime']]#以下几个年月日,我暂时还没细细研究,怎么提取一年中的某一天。。。好像相减可以解决,遇到问题再解决吧

b['year']=year

b2=b.drop(b[b.year!=2018].index)

b2=b2.drop(b2[b2.纬度>27.1604].index)##这个删除强烈推荐,我之前入门的时候完全靠循环,还是list循环。。。莫名的可悲

b2=b2.drop(b2[b2.经度>119.017].index)

b2=b2.drop(b2[b2.点位=='县自来水厂'].index)

b3=b2[['经度','纬度','AQI']]###选取多列

b4=np.array(b3)

b.to_csv('D:/minxinan/AQI/csv/2018.csv',encoding='gbk')

b5=b2[['时间']]

b5=b5.rename(columns={'时间':'datetime'})

b5['datetime'] = pd.to_datetime(b5['datetime'],format='%Y-%m-%d %H:%M:%S')#格式转为时间戳

day=[i.day for i in b5['datetime']]

month=[i.month for i in b5['datetime']]

doy=[]

for ij in range(len(day)):

a=month[ij]*32+day[ij]

doy.append(a)

b2['doy']=doy

group=b2.groupby([b2['经度'],b2['纬度'],b2['doy']],as_index=False)

b5=group.mean()###这里就是groupby的统计功能了,除了平均值还有一堆函数。。。

b6=b5.sort_values('doy',ascending=True)##排序也是可以的

b6.reset_index(drop=True, inplace=True)

b3=b6[['经度','纬度','AQI']]###选取多列

b4=np.array(b3)

b6.to_csv('D:/minxinan/AQI/csv/b6.csv',encoding='gbk')

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个有趣的灵魂W 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档