zoukankan      html  css  js  c++  java
  • pandas进阶单表操作read_csv、默认切前后各5行、astype数据类型转换、query平均值、T转置列转行&行转列、升降序sort_values、rank排名、unique唯一值、describe描述、累加sum、median中位数、标准差std、方差var、数据框累加cumsum、cut切割、groupby分组、分组计数、聚合最大最小值、多重索引聚合、不同城市间最大值和最小值的差值

    import pandas as pd
    # 读取全部文件内容
    print(pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk", names=list("abcdefg")))
    print("1,----------")

    # 查看数据类型
    print(pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk").info())
    print("2,------")

    # 默认切前5行
    print(pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk").head())
    print("3,--------")

    # 默认切后5行
    print(pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk").tail())
    print("4,---------")

    # 改变字段的数据类型为字符串
    a = pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk")
    a.top = a.top.astype("str")
    print(a.info())
    print("5,----------")

    # 改变字段的数据类型为数字
    b = pd.read_csv(r"D:mycode用pandasdatadataAnalyst_sql.csv", encoding="gbk")
    # 把空值排除掉
    b = b[~b['top'].isnull()]
    b.top = b.top.astype('int64')
    print(b.info())
    print("6,----------")

    print(b[["bottom", 'top']])
    print("7,--------")

    # 求平均值
    b["avg_2"] = (b.bottom + b.top)/2
    print(b["avg_2"])
    print("8,---------")

    # 平均值大于15的所以城市
    c = b.query("avg > 15").city
    print(c)
    print("9,--------")

    # 平均值大于15的城市等于上海
    d = b[(b.city == '上海') & (b.avg > 15)]
    print(d)
    print("10,------------------")

    # 转置:列转行、行转列
    print(b.T)
    print("11,--------")

    # 升序
    print(b.sort_values(by='avg'))
    print(b.avg.sort_values())
    print("12,----------")

    # 返回数据框
    print(b.sort_values("avg"))
    print("13,------")

    # 降序
    print(b.sort_values("avg", ascending=False))
    print("14,---------")

    # 多个条件降序
    print(b.sort_values(["avg", 'city'], ascending=False))
    print("15,---------")

    # 将平均值排名默认
    b["rank"] = b.avg.rank(ascending=False, method="first")
    # 将平均值排名最小
    b["rank"] = b.avg.rank(ascending=False, method="min")
    # 将平均值排名最大
    b["rank"] = b.avg.rank(ascending=False, method="max")
    print(b)
    print("16,---------")

    b.sort_values(by="avg", ascending=False)
    print(b)
    print("17,----------")

    # 查唯一值
    print(b.workYear.unique())
    print("18,-------")

    # 查唯一值计数
    print(b.workYear.value_counts())
    print("19,-----")

    # 描述统计汇总
    print(b.describe())
    print("20,--------")

    # 求平均值的描述信息
    print(b.avg.describe())
    print("21,-------")

    # 累加
    print(b.sum())
    print("22,------")

    # 中位数
    print(b.median())
    print("23,----------")

    # 标准差
    print(b.std())
    print("24,-------")

    # 方差
    print(b.var())
    print("25,-------")

    # 数据框累加
    print(b.cumsum())
    print("26,---------------")

    # 平均值累加
    print(b.avg.cumsum())
    print("27,-----------")

    # 切割5等份
    e = pd.cut(b.avg, bins=5)
    print(e)
    print("28,--------")

    # 切割4等份挂挡
    e = pd.cut(b.avg, bins=4, labels=list("abcd"))
    print(e)
    print("29,-------")

    # 指定区间等份
    print(pd.cut(b.avg, bins=[0, 5, 10, 20, 30]))
    print("30,------")

    # 按城市分组计数
    print(b.groupby(by="city").count())
    print("31,-------")

    # 聚合最大值
    print(b.groupby(by="city").max())
    print(b.groupby(by="city")["avg"].max())
    print("32,-------")

    # 聚合最小值
    print(b.groupby(by="city").min())
    print(b.groupby(by="city")["avg"].min())
    print("33,-------")

    # 多重索引聚合
    print(b.groupby(by=["city", "workYear"]).min())
    print("34,--------")

    # 不同城市间最大值和最小值的差值
    for k, v in b.groupby(by=["city"]):
    print("最大值是:", max(v.avg), "最小值是:", min(v["avg"]))
    print("差值是:", max(v.avg) - min(v["avg"]))
    print("35,-------")

  • 相关阅读:
    linux tftp 服务
    AtomicInteger
    深入理解JVM(三)——垃圾收集策略具体解释
    Android 虚拟现实(virtual reality)入门指南
    Java千百问_05面向对象(005)_接口和抽象类有什么差别
    postman发送json格式的post请求
    什么是Session分布式共享
    如何设计一个单点登录系统(3)?
    如何设计一个单点登录系统(2)?
    如何设计一个单点登录系统(1)?
  • 原文地址:https://www.cnblogs.com/zhang-da/p/14238808.html
Copyright © 2011-2022 走看看