首先,这篇文章主要是为了做一个流程的整合,并不是一篇非常实用的教学文章,里面最重要的模块,就是pandas包里面的pivot_table ,本身我自己并没有深入的有什么研究,只是自己会用。
另外,在工作中,肯定还有这样那样的bug,我在完成这个工程的过程中,最大的问题就在于文件的读取,为了不让数据量减少,从而去寻找合适的文字解码。
当然,如果有人尝试的话,肯定会有各种错误,建议不断地百度和尝试,一定会成功的。
ps:我的编译环境是在“jupyter notebook”中完成的,主要因为我觉得这个是最好使得。
import pandas as pd import numpy as np #输入文件路径 filepath1 = r'.......\zs_live_liuchu_202007.csv' #文件读取 #encoding = 'gb18030'(由于UTF-8不能涵盖所有字符类型,如果报错,可以尝试添加这个解码) #header = None(有时候原数据是没有列标题的,需要用这个去注释) #names =["date","liuru","liuchu","leixing","huji","gender","age","num"](重新对列进行命名) liuchu202007 = pd.read_csv(filepath1,encoding='gb18030',header = None,names =["date","liuru","liuchu","leixing","huji","gender","age","num"]) #预览导入的表格是不是正确的 liuchu202007.head() #利用了pandas包里面的pivot_table模块,类似于Excel的数据透视表 #index定义行标题 #values定义数据统计值 #columns定义了列标题 #aggfunc定义values的统计方式,我这里用的是sum(总计),其中还利用到了numpy包 #fill_value = 0 (定义了空值用“0”填充) #margins = True(定义了,需要统计总数,行总数列总数都有) df = pd.pivot_table(liuchu202007,index = ["liuru","liuchu","huji"],values = ["num"],columns = ["gender","age"], aggfunc = [np.sum],fill_value=0,margins=True) #利用了pandas包中的to_excel模块进行数据导出,这里是直接生成一个新文件 df.to_excel("存放_202007_juzhu_liuch.xlsx")