
python数据计算
简单计算
数据准备
#数据计算#简单计算#数据准备import pandas as pddf=pd.read_csv('d:/python/out/datatime.csv',encoding='utf8')df
#简单计算import pandas as pddf=pd.read_csv('d:/python/out/datatime.csv',encoding='utf8')df['total']=df.price*df.numdf.to_csv('d:/python/out/datatime_out.csv')df
时间计算
数据准备
#时间计算数据准备import pandas as pddf=pd.read_csv('d:/python/out/timedate.csv',encoding='utf8')df
#时间计算import pandas as pddf=pd.read_csv('d:/python/out/timedate.csv',encoding='utf8')#先将字符串的注册时间列,转换成时间类型df['时间']=pd.to_datetime(df.注册时间,format='%Y/%m/%d')#从datetime模块中,引入datetime时间类型,构造函数from datetime import datetime#注册时间=当前时间-注册时间df['注册天数']=datetime.now()-df['时间']df.to_csv('d:/python/out/timedate628_out.csv')df
#时间计算import pandas as pddf=pd.read_csv('d:/python/out/timedate.csv',encoding='utf8')#先将字符串的注册时间列,转换成时间类型df['时间']=pd.to_datetime(df.注册时间,format='%Y/%m/%d')#从datetime模块中,引入datetime时间类型,构造函数from datetime import datetime#注册时间=当前时间-注册时间df['注册天数']=datetime.now()-df['时间']#将时间间隔的数据类型简化,只保留天数df['注册天数']=df['注册天数'].dt.daysdf.to_csv('d:/python/out/timedate628a_out.csv')df
数据标准化
数据准备
#数据标准化#数据准备import pandas as pddf=pd.read_csv('d:/python/out/round.csv',encoding='utf8')df
#数据标准化import pandas as pddf=pd.read_csv('d:/python/out/round.csv',encoding='utf8')df['消费']=round((df.消费-df.消费.min())/(df.消费.max()-df.消费.min()),2)df.to_csv('d:/python/out/round_out.csv')df
数据分组
数据准备
数据分组
#数据准备import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')df
#确认cost列中最小值import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')df.cost.min()
#确认cost列中最大值import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')df.cost.max()
分组的数组
#分组的数组import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')#cut函数分段区间默认为左开放、右封闭,但cost列中最小值为2#最大值为100,组距20#为了分组后各区间整齐一致,并且包含2-100内的所有数值#设置bins参数列表的最小值为0,最大值为100bins=[0,20,40,60,80,100]df['cut']=pd.cut(df.cost,bins)df.to_csv('d:/python/out/cut628a_out.csv')df
区间的闭合
#区间闭合import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')#设置右区间为开放#需要考虑[2,100]内的100这个数字,将无法包含在[0,100)中#为了让100也落入到一个区间内,需要增加一个区间为[100,120)#120是在100的基础上增加步长20,目的是让区间能够数据整齐一致bins=[0,20,40,60,80,100,120]df['cut']=pd.cut(df.cost,bins,right=False)df.to_csv('d:/python/out/cut628b_out.csv')df
自定义标签
#自定义标签import pandas as pddf=pd.read_csv('d:/python/out/cut.csv',encoding='utf8')bins=[0,20,40,60,80,100,120]#设置自定义标签,定义的标签需要和区间个数及顺序都一一对应customLabels=['0到20','20到40','40到60','60到80','80到100','100到120']df['cut']=pd.cut(df.cost,bins,right=False,labels=customLabels)df.to_csv('d:/python/out/cut628c_out.csv')df
学习小结:
数据计算时根据原有的字段数据,采用简单计算、函数计算等方式得到新的字段数据,以便进行下一步数据处理或数据分析。
简单计算:通过对已有字段进行加、减、乘、除等运算;
时间计算:计算两个时间之间的距离天数。计算时间之前需要先导入datetime模块;
数据标准化:数据按比例缩放,使之落入特定区间,方便进行不同变量之间的对比分析;
数据分组:根据分析目的将数据类型数据进行等距或非等距地分组,这个过程也称为数据离散化,一般用于看数据分布情况,从而揭示其内在的联系或规律;
补充:字符串split和rsplit的方法
通过工作需求实际案例总结字符串split和rsplit方法

str="hello web"str.split("[")[1].rsplit("]")[0]
#字符串split和rsplit的方法import pandas as pddf=pd.read_excel('d:/python/out/628.xlsx',encoding='utf8')df_split=df['ROUTEINFO'].str.split('/',2,True)[2]#2代表返回正向分割2次;[2]并取序列为2的项df['ROUTEINFO']=df_split.str.rsplit('/',2,True)[0]#2代表返回反向分割2次;[0]并取序列为0的项df.to_excel("d:/python/out/data13.xlsx",sheet_name='data',index=False)df
2137

被折叠的 条评论
为什么被折叠?



