Python办公自动化,如何数据选取,减少数据冗余

一张表中通常会包含很多字段,造成数据冗余,在做数据分析时,我们仅需要提取数据分析所需要的字段,这里就需要用到数据选取的知识点。

本文构建数据表做数据索引,然后对数据内容进行调整,包含修改数据类型、去除空格、数据替换、截取字符等,最后做数据规整。

一、构建数据表

首先导入常用的库,设置一些数据字段,构建一张数据表。

import pandas as pd
import numpy as np
import datetime

df = pd.DataFrame({'用户ID':[1001,1002,1003,1004,1005,1006],
'日期':pd.date_range(datetime.datetime(2021,3,23),periods=6),
'城市':['北京', '上海', '广州', '上海', '杭州', '北京'],
'年龄':[23,44,54,32,34,32],
'性别':['F','M','M','F','F','F'],
'成交量':[3200,1356,2133,6733,2980,3452]},
columns =['用户ID','日期','城市','年龄','性别','成交量'])
df
Python办公自动化,如何数据选取,减少数据冗余

二、数据索引

1、索引修改

#修改索引,直接赋值给Index即可
df.index=list('abcdef')
df
Python办公自动化,如何数据选取,减少数据冗余

2、数据索引

索引某行,有三种方法,一种是loc按照名字索引,另一种是iloc按照下标索引,Ix是loc和iloc的混合,既能按索引标签提取,也能按位置进行数据提取。

#索引两列
df.loc[:,['城市','成交量']]
Python办公自动化,如何数据选取,减少数据冗余

#索引前两行,两列
df.loc[['a','b'],['城市','成交量']]
Python办公自动化,如何数据选取,减少数据冗余

#获取第一列、第二列数据
df.iloc[:,0:2] 
Python办公自动化,如何数据选取,减少数据冗余

#获取第二行、第三行,第一、二、三列的数据
df.iloc[[1, 2],[0, 1, 2]]
Python办公自动化,如何数据选取,减少数据冗余

# 仅取出第1行的数据
df.iloc[0] 
Python办公自动化,如何数据选取,减少数据冗余

#索引全部行数据
df.iloc[:,[0, 1, 2]]
Python办公自动化,如何数据选取,减少数据冗余

#使用ix按索引标签和位置混合提取数据
df.ix[:'2021-03-26',:3]
Python办公自动化,如何数据选取,减少数据冗余

3、条件筛选

#筛选性别为F的数据
df[df['性别']=='F']
Python办公自动化,如何数据选取,减少数据冗余

df[(df['城市']=='北京') & (df['年龄']>30)]
Python办公自动化,如何数据选取,减少数据冗余

#布尔索引加普通索引选择指定的行和列
df[df['年龄']>30][['用户ID','城市','成交量']]
Python办公自动化,如何数据选取,减少数据冗余

#切片索引加普通索引选择指定的行和列
df.iloc[0:3][['用户ID','城市','成交量']]
Python办公自动化,如何数据选取,减少数据冗余

三、数据内容调整

1、修改数据类型

#数据类型修改
df.dtypes
Python办公自动化,如何数据选取,减少数据冗余

#将用户ID数值类型转化为字符串类型
df['用户ID'] = df['用户ID'].astype(str)
df['用户ID'].dtype
Python办公自动化,如何数据选取,减少数据冗余

2、去除空格

#去除字段中的空格
df = pd.DataFrame({'城市':['北京  ', '  上海', '  广州  ', '上海', '  杭州 ', '  北京']})
df['城市']
Python办公自动化,如何数据选取,减少数据冗余

df['城市'].str.strip()
Python办公自动化,如何数据选取,减少数据冗余

3、数据替换

df['城市'] = df['城市'].replace('北京','北京市')
df['城市']
Python办公自动化,如何数据选取,减少数据冗余

4、截取部分字符

#截取部分字符到日期日
df['日期'] = df['日期'].astype(str)
df['日期'].str[8:10]
Python办公自动化,如何数据选取,减少数据冗余

四、数据规整

1、数据排序

#排序,以成交量降序排列
df.sort_values(['成交量'],ascending=False)
Python办公自动化,如何数据选取,减少数据冗余

2、数据分类

#使用where进行判断,条件满足为第一个值,不满足则返回第二个值
df['达成情况']=np.where(df['成交量']>3000,'达成量高','达成量低')
df
Python办公自动化,如何数据选取,减少数据冗余

展开阅读全文

页面更新:2024-05-26

标签:数据   规整   冗余   成交量   字段   空格   北京   上海   办公自动化   数据类型   数据表   索引   性别   年龄   日期   用户   城市   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top