2020年周数和日期对应表_【python】将文本格式转为日期格式、新增年月字段及透视表多重索引处理问题...

上次在用python中的pandas库进行透视表之后,因为索引和列名都存在多重索引的问题,这个问题作为了遗留问题。

aec4c955abaf3de74d5bfa0b2ff3e870.png

今天才查询1元版的用户新增的时候,又用到了透视表,本想耐着性子看看pandas的用户手册,结果发现自己太高估了自己,只有带着问题去学东西,才是最快的。

379ff78adcfd02a8fd768f8e265b9f56.png

将今天撸的代码先贴这儿复习下:

import pandas as pd

import numpy as np

df=pd.read_csv(r'E:\工作计划\周例会数据分享\2020.6.19\1元版活激活数据.csv',sep=',')df2=pd.read_csv(r'E:\工作计划\周例会数据分享\2020.6.19\组织及活动对应单日新增用户.csv',sep=',')df2.sum()有点意思,结果截图如下: 99b1120b5acc7db017285f168e969770.png df2.sum(axis=0),这个结果页好玩,对每个字段都求和,依稀觉得和上面的没啥区别了。

8b5a8bf4d6e556fac9a0a60c7ac6b130.png

df2.cumsum(),这个效果我觉得是来搞笑的:

d2be70e8d8467ba4c252921b37c56f4d.png

df2.describe()这个结果看着也蛮友好的:

7753dab5b4194e7bf01b710ce0cfe753.png

sum(df2['用户数'])嗯,这个是想看共有多少用户。df3=df2.pivot_table(index=['欢乐返类型'],columns=['实体组织'],values=['用户数'],aggfunc=[np.sum]):生成透视表df4=df2.pivot_table(index=['欢乐返类型','实体组织'],values=['用户数'],aggfunc=[np.sum]):另一个透视表 dftt=df4.unstack():将多重索引转为单索引 dfzz=df3.reset_index(level=None,drop=False,inplace=False,col_level=0,col_fill=''):将多重索引转为单索引的另一种方法,会在原有结果基础上新增一列索引dftt.columns=dftt.columns.get_level_values(0):列名为三个元素的数组,这里将首行的列名赋值为列名 dftt.columns=['盛POS用户量','超级盛POS用户量']:重命名,第一个为索引,不能重命名 上次的遗留问题,在此已解决完了,虽然没弄懂,但是问题已经解决了。这简直就是:只要百度用的好,学习没烦恼。 现在来看另一问题: 导入的数据的日期格式为文本格式,如果要看每个月的数据,透视的结果是满足不了要求的。 ①将文本格式转为日期格式:df2['date']=pd.to_datetime(df2['商户注册时间']),这个函数似曾相识有木有,就是神策里面也有这个函数来的,在将时间戳转为日期格式之后,这个函数直接转为日期的格式。 ②新增年和月字段,因为这个数据没有涉及到跨年,所以只要月份这个字段就可以了:df2['month']=df2.date.dt.month。

ed4fe9efe78fb6b543918a9120da3326.png

恩,忙乎了大半天,其实总结的笔记就这么点,大部分时间都在报错和纠错还有百度。

对用户数进行求和:sum(df2['用户数'])

查看各字段的属性:df2.dtypes

查看数据集的属性:type(df2)

新增一列将文本格式转为日期格式:df2['date']=pd.to_datetime(df2['商户注册时间'])

将日期中的年月进行提取并新增字段:df2['year']=df2.date.dt.year,df2['month']=df2.date.dt.month

将透视表的多重索引进行重新设置:dfzz=df3.reset_index(level=None,drop=False,inplace=False,col_level=0,col_fill='')

将多重列名仅取首行值进行重命名:df3.columns=df3.columns.get_level_values(0)

重命名列名:dfzz.columns=['activity_type_no','盛POS用户','超级盛POS用户']

今日偶得:在不停的实践中,才能记住知识点并解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值