0
点赞
收藏
分享

微信扫一扫

Python数据分析,办公自动化,数据选取



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

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

一、构建数据表


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


importimportimport
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数据分析,办公自动化,数据选取_数据类型_02

2、数据索引

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



#索引两列df.loc[:,['城市','成交量']]

Python数据分析,办公自动化,数据选取_数据类型_03


#索引前两行,两列df.loc[['a','b'],['城市','成交量']]

Python数据分析,办公自动化,数据选取_数据_04


#获取第一列、第二列数据df.iloc[:,0:2]

Python数据分析,办公自动化,数据选取_数据类型_05

    Python数据分析,办公自动化,数据选取_字段_06


    # 仅取出第1行的数据df.iloc[0]

    Python数据分析,办公自动化,数据选取_字段_07


    #索引全部行数据df.iloc[:,[0, 1, 2]]

    Python数据分析,办公自动化,数据选取_数据类型_08


    #使用ix按索引标签和位置混合提取数据df.ix[:'2021-03-26',:3]

    Python数据分析,办公自动化,数据选取_数据_09

    3、条件筛选


    Python数据分析,办公自动化,数据选取_数据类型_10


    df[(df['城市']=='北京') & (df['年龄']>30)]

    Python数据分析,办公自动化,数据选取_字段_11


    #布尔索引加普通索引选择指定的行和列df[df['年龄']>30][['用户ID','城市','成交量']]

    Python数据分析,办公自动化,数据选取_字段_12


    #切片索引加普通索引选择指定的行和列df.iloc[0:3][['用户ID','城市','成交量']]

    Python数据分析,办公自动化,数据选取_数据_13

    三、数据内容调整


    1、修改数据类型


    #数据类型修改df.dtypes

    Python数据分析,办公自动化,数据选取_数据类型_14


    #将用户ID数值类型转化为字符串类型df['用户ID'] = df['用户ID'].astype(str)df['用户ID'].dtype

    Python数据分析,办公自动化,数据选取_字段_15

    2、去除空格


    Python数据分析,办公自动化,数据选取_数据类型_16


    df['城市'].str.strip()

    Python数据分析,办公自动化,数据选取_字段_17

    3、数据替换



    df['城市'] = df['城市'].replace('北京','北京市')df['城市']

    Python数据分析,办公自动化,数据选取_数据类型_18

    4、截取部分字符




    #截取部分字符到日期日df['日期'] = df['日期'].astype(str)df['日期'].str[8:10]

    Python数据分析,办公自动化,数据选取_数据_19

    四、数据规整


    1、数据排序



    #排序,以成交量降序排列df.sort_values(['成交量'],ascending=False)

    Python数据分析,办公自动化,数据选取_数据_20

    2、数据分类




    #使用where进行判断,条件满足为第一个值,不满足则返回第二个值df['达成情况']=np.where(df['成交量']>3000,'达成量高','达成量低')df

    Python数据分析,办公自动化,数据选取_字段_21



    举报

    相关推荐

    0 条评论