栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python处理数据-excel功能

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python处理数据-excel功能

一、数据源

1、读取数据

import pandas
JL_data=pandas.read_excel(io='路径/数据源.xlsx')

data=pandas.DataFrame(JL_data)

2、编写数据

1)行列

data=pd.DataFrame(
  np.random.randint(low=0,high=6,size=(5,5)),
  columns=['列1','列2'],
  index=['行1','行2']
)

2)列

data=pd.DataFrame({'key1':list('aabba'),
                  'key2': ['one','two','one','two','one'],
                  'data1': np.random.randn(5),
                  'data2': np.random.randn(5)})

二、数据获取

1、单列:data["lng"]

2、多列:

xl = data.iloc[:, 1:]  # 选取DataFrame的所有行,并截取第二列至最末列。
df = data.iloc[1:]  # 选取DataFrame的第二行至最末行,保留所有列,并将选取的数据表保存在一个新的变量中。

3、单个值:

data["lng"][0]==data.loc[0,"lng"]

三、特征构建

基于已有的数据进行特征构建

1、计算:两列之间的加减乘除

data['new']= 加+     减-     乘*    除/     余数%     商//      幂** 

2、定义指标

1)某个关键词作为指标

import re
j=0
for j in range(0,len(data['字段1'])):
    data['new'][j] = str(re.findall(r'关键词',data['字段1'][j])).replace('[','').replace("'",'')
    j+=1
data['new']

2) 特定符号之后的内容作为指标

(?<=特殊符号).*$

3)某个段作为指标

data['new'] = '' 
data.loc[data['字段1'] - data['字段2'] > 0, 'new'] = '类1'
data.loc[data['字段1'] - data['字段2'] <= 0, 'new'] = '类2'
data['new'].value_counts()
data['new']

四、数据透视

灵活性高,可以随意定制你的分析计算要求

脉络清晰易于理解数据

操作性强,报表神器

1、pivot_table简介

pivot_table(data, values=None, index=None, columns=None,aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')

pivot_table有四个最重要的参数index、values、columns、aggfunc,本文以这四个参数为中心讲解pivot操作是如何进行。

1)Index:Index就是层次字段,就是excel透视表的行,可以多行,形成多个维度

pd.pivot_table(data,index=['字段1']) ,pd.pivot_table(data,index=['字段1','字段2'])

2)Columns类似Index可以设置列层次字段,它不是一个必要参数,作为一种分割数据的可选方式。

pd.pivot_table(df,index=['字段1'],columns=['字段2'])

3) Values:在index字段维度下统计的指标,只能为数值的字段

pd.pivot_table(data,index=['字段1','字段2']],values=['指标1','指标2','指标3'])

4)Aggfunc参数可以设置我们对数据聚合时进行的函数操作。

当我们未设置aggfunc时,它默认aggfunc='mean'计算均值:

pd.pivot_table(df,index=['字段1','字段2']],values=['指标1','指标2','指标3'],aggfunc=[np.sum,np.mean])

还有其他:min、sum、max、count、mean、median等
5)fill_value默认填充空值,可fill_value=0,margins=Truemargins=1进行汇总

6)类型

aggfunc也可以使用dict类型,如果dict中的内容与values不匹配时,以dict中为准。

 Pandas中把dataframe转成array:df=df.values

2、groupby

1)聚合

data.groupby('字段'),data.groupby(['字段1'],['字段2'])

汇总值:data.groupby(['字段1'],['字段2'])['指标1'].transform('sum')

data=groupby(['字段1'],['字段2'])['指标1','指标2'].sum().sort_values(['字段1'],['字段2']],ascending=False).reset_index()

2)分组,通过字典分组

 mapping = {'字段1':'类1','字段2':'类1','字段3':'类2'}

data = people.groupby(mapping,axis=1).mean()​​​​​​​

五、数据保存

将处理结果保存到excel中

data.to_excel(r'路径/数据结构.xlsx')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987206.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号