Python
基本用法
列表与字典
选择与循环语句
函数与模块
中文转拼音
Excel操作
Panads
DOC操作
调用etcd模块
调用zookeeper模块
调用redis模块
pyinstaller打包
安装conda
使用conda打包32程序
python发送html邮件
HTTP请求
自建代理ip池
mysql操作
Python图片生成
HTML转图片
文件md5及base64
调用mongo
多进程与多线程
pyecharts绘图模块
多环境管理(Pyenv/Virtualenv)
PIP
本文档使用MrDoc发布
返回首页
-
+
Panads
2020年11月11日 17:22
admin
##导入panads包 import pandas as pd import numpy as np ##筛选数据 df_huizong = huizong.loc[(huizong['企业付费类型']=='预付费') & (huizong['管理员充值'].isnull() == True)] ##选取指定列 df_yufu=df_yufu.loc[:,'序号':'付费类型'] ##指定列包含某字符 #测试包含信息 huizong = pd.read_csv('caiwu_20201101_ok_1.csv',encoding='gb18030',low_memory=False,usecols=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) huizong.columns = ['id','企业ID','企业名称','企业账号','企业付费类型','归属人','部门','月份','企业充值','企业赠送','管理员充值','充值未回款金额','充值已回款金额','余额','备注','账号是否停用'] hui_test = huizong[huizong['企业账号'].str.contains('已删') == True] print(hui_test) ##删除空行 # 删除含有空数据的全部行 df4 = df4.dropna() # 可以通过axis参数来删除含有空数据的全部列 df4 = df4.dropna(axis=1) # 可以通过subset参数来删除在age和sex中含有空数据的全部行 df4 = df4.dropna(subset=["age", "sex"]) ##排序 df_yufu = df_yufu.sort_values(by='欠款',ascending=False) #ascending=False 表示降序排序 ##聚合 #以'合并看标志'列数据聚合 df_yufu_toushi = df_yufu.groupby(df_yufu['合并看标志']) #把'欠款'列求和 df_yufu_toushi = df_yufu_toushi['欠款'].agg('sum') ##时间日期的比较(根据时间筛选数据) #转换日期格式 df_huizong['月份'] = pd.to_datetime(df_huizong['月份']) #比较时间(根据时间筛选数据) df_huizong = df_huizong[df_huizong['月份']>=pd.datetime(2015,4,1)] #只保留'年月日' df_huizong['月份'] = df_huizong['月份'].dt.date ##合并表格(union) df_yufu_total = pd.concat([df_yufu_new,df_yufu_nohebing]) ##格式 import pandas as pd from datetime import datetime,timedelta df = pd.read_clipboard() # 从粘贴板上读取数据 t = datetime.now().date() - timedelta(days=1) writer = pd.ExcelWriter('样式%d%02d%02d.xlsx' %(t.year,t.month,t.day)) workbook = writer.book fmt = workbook.add_format({"font_name": u"微软雅黑"}) percent_fmt = workbook.add_format({'num_format': '0.00%'}) amt_fmt = workbook.add_format({'num_format': '#,##0'}) border_format = workbook.add_format({'border': 1}) note_fmt = workbook.add_format( {'bold': True, 'font_name': u'微软雅黑', 'font_color': 'red', 'align': 'left', 'valign': 'vcenter'}) date_fmt = workbook.add_format({'bold': False, 'font_name': u'微软雅黑', 'num_format': 'yyyy-mm-dd'}) date_fmt1 = workbook.add_format( {'bold': True, 'font_size': 10, 'font_name': u'微软雅黑', 'num_format': 'yyyy-mm-dd', 'bg_color': '#9FC3D1', 'valign': 'vcenter', 'align': 'center'}) highlight_fmt = workbook.add_format({'bg_color': '#FFD7E2', 'num_format': '0.00%'}) l_end = len(df.index) + 2 # 表格的行数,便于下面设置格式 df.to_excel(writer, sheet_name=u'测试页签', encoding='utf8', header=False, index=False, startcol=0, startrow=2) worksheet1 = writer.sheets[u'测试页签'] for col_num, value in enumerate(df.columns.values): worksheet1.write(1, col_num, value, date_fmt1) worksheet1.merge_range('A1:B1', u'测试情况统计表', note_fmt) # 设置列宽 worksheet1.set_column('A:D', 30, fmt) # 有条件设定表格格式:金额列 worksheet1.conditional_format('B3:E%d' % l_end, {'type': 'cell', 'criteria': '>=', 'value': 1, 'format': amt_fmt}) # 有条件设定表格格式:百分比 worksheet1.conditional_format('E3:E%d' % l_end, {'type': 'cell', 'criteria': '<=', 'value': 0.1, 'format': percent_fmt}) # 有条件设定表格格式:高亮百分比 worksheet1.conditional_format('E3:E%d' % l_end, {'type': 'cell', 'criteria': '>', 'value': 0.1, 'format': highlight_fmt}) # 加边框 worksheet1.conditional_format('A1:E%d' % l_end, {'type': 'no_blanks', 'format': border_format}) # 设置日期格式 worksheet1.conditional_format('A3:A62', {'type': 'no_blanks', 'format': date_fmt}) writer.save()
分享到: