zoukankan      html  css  js  c++  java
  • python—dataframe用法

    #行处理
    #df.iloc[1] 行索引号——获取行
    #df.iloc[0,1] 行列索引号——获取一个元素
    #df.iloc[[0,1]] 双括号默认都是行索引号——获取n行
    #df.iloc[0:2,1:3] 行列索引号——获取区域元素
    #df.loc["A"] 行名称——获取行
    #df.loc["A","c1"] 行列名称——获取一个元素
    #df.loc[["A","B"]] 双括号默认都是行名称号——获取n行
    #df.loc["A":"B","c1":"c2"] 行列名称——获取区域元素
    #列处理
    #df["c2"] 列名称——获取列
    #df[["c1","c2"] 列名称——获取n列

    #修改某一值
    #df.iloc[0,1] = 2
    #df.loc["A","c1"] =2

    #修改某一行信息 map与apply 当apply中axis=0时表示行
    #df.loc["A"]=df.loc["A"].map(lambda x:x*2) -- A行信息数*2
    #df.iloc[1]=df.iloc[1].map(lambda x:x*2) -- 索引号1,行信息数*2
    #df.loc['A'] = df.apply(lambda x: x['B'] + 2 * x['C'], axis=0)

    #修改某一列信息 map与apply 当apply中axis=1时表示列
    #df["c1"]=df["c1"].map(lambda x:x*2) -- c1列信息数*2
    #df['c3'] = df.apply(lambda x: x['c1'] + 2 * x['c2'], axis=1)

    #map、apply,mapapply比较
    #apply对DataFrame的数据进行按行或按列操作,axis=0时表示行,axis=1时表示列,可添加min与max
    #apply运用到Series中,执行的是对每个元素的运算
    #applymap自动对DataFrame每一个元素进行处理,不能添加统计函数比如min与max
    #map 是对 行、列,series 等 进行每个元素的单独操作,不能添加统计函数比如min与max

    #某列值为**显示此列
    #df[df['c1']==9] -- 列c1值为9的行

    import numpy as np
    import pandas as pd
    a=np.random.randint(5,10,size=(5,5))
    df = pd.DataFrame(a,index=["A","B","C","D","E"],columns=['c1', 'c2', 'c3', 'c4', 'c5'])
    #print(type(df))
    print(df)
    '''
    #iloc 按照索引号切片取信息左闭右开
    df1=df.iloc[0:2,1:3]
    print(df1)
    #loc 按照行列名称取信息
    df2=df.loc["A":"B","c2":"c3"]
    print(df2)

    #列索引
    print(df['c2'])

    # 返回前n行
    print(df.head(2))
    # 返回后n行
    print(df.tail(2))

    # 按照行列名称取信息,n个注意用【 】扩起
    df3 = df[["c2","c3"]]
    print(df3)

    #修改某一数据
    df.iloc[1,2]="apple"
    print(df)



    #修改列数据 使用map方法,其中lambda函数中x代表当前的列
    #df['c2'] = df['c2'].map(lambda x: x**2)
    #print(df)
    #修改行数据
    df.iloc[1]=df.iloc[1].map(lambda x:x*2)

    #修改多列数据 apply方法 c3=c1+2*c2
    df['c3'] = df.apply(lambda x: x['c1'] + 2 * x['c2'], axis=1)

    #排序
    print(df['c2'].sort_values(ascending=False))

    #apply使用统计函数
    df1=df.apply(lambda x: x.max()-x.min())
    #print(df)

    #增加列数据
    df["c6"]=[1,2,3,4,5]
    print(df)

    #某列数值等于**显示此列
    print(df[df['c1']==9])
    '''



  • 相关阅读:
    chrome浏览器中安装以及使用Elasticsearch head 插件
    windows10 升级并安装配置 jmeter5.3
    linux下部署Elasticsearch6.8.1版本的集群
    【Rollo的Python之路】Python 爬虫系统学习 (八) logging模块的使用
    【Rollo的Python之路】Python 爬虫系统学习 (七) Scrapy初识
    【Rollo的Python之路】Python 爬虫系统学习 (六) Selenium 模拟登录
    【Rollo的Python之路】Python 爬虫系统学习 (五) Selenium
    【Rollo的Python之路】Python 爬虫系统学习 (四) XPath学习
    【Rollo的Python之路】Python 爬虫系统学习 (三)
    【Rollo的Python之路】Python sys argv[] 函数用法笔记
  • 原文地址:https://www.cnblogs.com/wenchengqingfeng/p/13297176.html
Copyright © 2011-2022 走看看