2020-06-22 pandas读写excel常用操作
2020-06-22 本文已影响0人
DaveeHuang
1、加载pandas模块并读取文件
请注意”读取“只是一个动作,并不展示文件。其中的”sheet_name“支持对多标签页工作簿进行操作读取,即可引用页签名,也可以设为0、1、2,分别对应排序中的第1、2、3张工作表。
import pandas as pd #加载用于读写excel的pandas模块,具体打开格式请参考下一行
data1 = pd.read_excel('E:\\example.xlsx',sheet_name = '5月',header = None,enconding = 'utf-8',names = ['date','channel','talks','questiones'])
data1
5月份个商数据(示例).JPG
data1 = pd.read_excel('E:\\example.xlsx',sheet_name = '6月',header = None,enconding = 'utf-8',names = ['date','channel','talks','questiones'])
data1
6月份个商数据(示例).JPG
2、显示数据整体结构
如下图,即该数据有10行4列
data1.shape #显示数据整体结构
数据整体结构.JPG
3、显示指定列内容
data1.loc[:,'talks':'questiones'] #显示指定列内容,但不删除该列数据
显示指定列内容.JPG
4、去除重复项
(1)去除指定列重复数据,并保留该列第一行重复值
data1.drop_duplicates(['talks']) #去除指定列重复数据,并保留该列第一个数据,如仅保留6月1日的“talks”数据。
去除指定列重复数据,并保留该列第一个数据.JPG
(2)去除指定列重复数据,且保留最后一行重复值
data1.drop_duplicates(['talks'],keep = 'last') #去除指定列重复数据,且保留最后一行重复值。最新使用的属性为 keep = 'last'
去除指定列重复数据,且保留最后一行重复值.JPG
5、删除指定列数据
data1.drop(['talks'],axis = 1) #删除指定列数据,axis参数1表示横轴逐个操作
删除'talks'列数据.JPG
6、删除指定列数值
data1.loc[-(data1['talks']== 101)] #删除指定列数值,如本操作删除 talks列中值为 101 这一行
删除 talks列中值为 101的列.JPG
7、更改列名
data1.rename(columns = {'talks':'users'},inplace = True) #更改某列名称
data1
'talks'列更改为'users'列.JPG
8、随机取某几行数
data1.sample(3) #随机取3行数
随机取3行数.JPG
9、列表显示某列唯一值
data1['users'].unique() #输出指定列中的唯一值,显示数据类型
'users'列唯一值.JPG
10、统计某列值出现频次
data1['users'].value_counts() #统计指定列各值出现频率,显示数据类型
统计'uesrs'列各值出现频次.JPG
11、分组统计
注意,这里面同样用到了‘sort’属性,如果是'False',则为升序统计,但是为'True'时也不是降序统计,这个还不明白其中的道理。
bins = [200,202,204,206,208,210] #对 questiones 进行分组统计
group = ['200-202','202-204','204-206','206-208','208-210']
grouping = pd.cut(data1['questiones'],bins,labels = group)
pd.value_counts(grouping,sort = False)
分组统计.JPG
12、最值
(1)最大值
data1['users'].max() #求某列最大值
(2)最小值
data1['users'].min() #求某列最小值
13、排列
data1.sort_values(by = 'questiones',ascending = False) #将数据按照指定列进行升序排序,ascending = True则为升序排列
按照'questiones'列降序排列.JPG
13、整体统计描述
data1.describe() #对数据进行各类指标统计
描述各数值列的数值个数、平均值、最大最小值等统计特性.JPG