作业要求:用pandas+numpy读取UCI iris数据集中鸢尾花的萼片、花瓣长度数据,进行数据清理,去重,排序,并求出和、累积和、均值、标准差、方差、最大值、最小值

学习网站:Runoob 

Pandas官方文档:pandas-docs

总共用时:1.5小时 (代码在最后面)

学习内容:pandas库基础


踩过的坑

1、关于Python pandas模块输出每行中间省略号问题

关于Python pandas模块输出每行中间省略号问题 - James·Sean - 博客园 (cnblogs.com)

pd.set_option('display.width', None)
pd.set_option('display.max_rows', None)

我的代码

work.py

import pandas as pd
import numpy as np
import requests
import sys
import os path = os.path.dirname(__file__) # ^ 阿里云OSS读取数据集文件
content = requests.get("https://xiaonenglife.oss-cn-hangzhou.aliyuncs.com/static/cnblogs/2020_3/iris.data") if content.status_code != 200:
print("不成功")
sys.exit() # ^ 退出程序 f = open(path+'iris.csv', 'w')
f.write(content.text)
f.close() df = pd.read_csv(path+'iris.csv', names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class']) print(df)
print('共 {0} 行'.format(df.index.__len__())) # ^ 删空行、去重
df.dropna(axis=0, how="any", inplace=True)
df.drop_duplicates(inplace=True)
print('共 {0} 行'.format(df.index.__len__())) # ^ 求第一列平均值、中位值、众数
a = df['sepal_length'].mean()
b = df['sepal_length'].median()
c = df['sepal_length'].mode()
print('{} {} {}'.format(a, b, c)) # ^ 将第一列变为 numpy 数组
arr = np.array(df['sepal_length'])
# ^ 对花瓣长度进行排序
print(np.sort(arr))
# ^ 对花瓣长度进行求和
print(arr.sum())
# ^ 求花瓣长度均值
print(np.mean(arr))
# ^ 求花瓣长度标准差
print(np.std(arr))
# ^ 求花瓣长度最大值
print(np.max(arr))
# ^ 求花瓣长度最小值
print(np.min(arr))

study.py

# pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
import pandas as pd
import json
import os path = os.path.dirname(__file__) # f = open(path+'/data.json', 'r', encoding="utf-8") # data = f.read()
# data = json.loads(data) # pd.set_option('display.width', None)
# pd.set_option('display.max_rows', None) # ^ 测试pandas
print(pd.__version__) data = pd.read_json(path+'/data.json')
print(data) # ^ Series
a = ["Google", "Runoob", "Wiki"] # @ 数组
myvar = pd.Series(a, index=["x", "y", "z"])
print(myvar) a = {1: "Google", 2: "Runoob", 3: "Wiki"} # @ 字典
myvar = pd.Series(a)
print(myvar) # ^ DataFrame
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index=["day1", "day2", "day3"])
print(df.loc["day2"]) data2 = [{'C': 'Google', 'A': 10, 'B': 93.5}, {'C': 'Runoob', 'A': 12, 'B': 89}]
df2 = pd.DataFrame(data2)
print(df2) # ^ 打开 CSV 文件
df = pd.read_csv(path+'/iris.csv')
print(df.info())
# @ 返回前后 n 行,默认5行
print(df.head())
print(df.tail())

点赞是一种积极的生活态度,喵喵喵!(疯狂暗示)

Python Pandas库 初步使用的更多相关文章

  1. python pandas库——pivot使用心得

    python pandas库——pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库——pandas(versio ...

  2. Python Pandas库的学习(三)

    今天我们来继续讲解Python中的Pandas库的基本用法 那么我们如何使用pandas对数据进行排序操作呢? food.sort_values("Sodium_(mg)",inp ...

  3. Python——Pandas库入门

    一.Pandas库介绍 Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas as pd Pandas基于NumPy实现,常与NumPy和Matplotli ...

  4. Python pandas库159个常用方法使用说明

    Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素. 一.Pandas数据结构 1.import pandas as pd import numpy as np ...

  5. Python Pandas库的学习(一)

    今天我们来学习一下Pandas库,前面我们讲了Numpy库的学习 接下来我们学习一下比较重要的库Pandas库,这个库比Numpy库还重要 Pandas库是在Numpy库上进行了封装,相当于高级Num ...

  6. Python Pandas库的学习(二)

    今天我们继续讲下Python中一款数据分析很好的库.Pandas的学习 接着上回讲到的,如果有人听不懂,麻烦去翻阅一下我前面讲到的Pandas学习(一) 如果我们在数据中,想去3,4,5这几行数据,那 ...

  7. Python Pandas 库的使用例子

    主要在jupyter notebook里面熟悉这个库的使用,它的安装方法与实现,可自行搜索. Pandas是一个优秀的数据分析工具,官网:http://pandas.pydata.org/ 相关的库使 ...

  8. python pandas库的基本内容

    pandas主要为数据预处理 DataFrame import pandas food_info = pandas.read_csv("路径")  #绝对路径和相对路径都可以 ty ...

  9. Python之使用Pandas库实现MySQL数据库的读写

      本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写.首先我们需要了解点ORM方面的知识. ORM技术   对象关系映射技术,即ORM(Object-Relational ...

随机推荐

  1. [SWPU2019] NETWORK

    [SWPU2019]Network(TTL隐写) 1.题目概述 2.解题过程 文档中的数字代表什么呢?会不会是RGB? 看了一下以前做过的题目,好像并不是 那是什么呢?百度告诉我这是TTL隐写,哇,长 ...

  2. [Java编程思想] 第一章 对象导论

    第一章 对象导论 "我们之所以将自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来--除非赞成这个协定中规定的有 ...

  3. mysql学习笔记-底层原理详解

    前言 我相信每一个程序员都避免不了和数据库打交道,其中Mysql以其轻量.开源成为当下最流行的关系型数据库.Mysql5.0以前以MyISAM作为默认存储引擎,在5.5版本以后,以InnoDB作为默认 ...

  4. Linux内核驱动模块编写尝试

    课堂笔记 源代码 /*file: hello.c*/ #ifndef _KERNEL_ #define _KERNEL_ #endif #ifndef MODULE #define MODULE #e ...

  5. ADT环境搭建手册

    前言 笔者在搭建ADT环境之前一脸懵逼,甚至不知道ADT是什么,更别说与之相关的SDK.eclipse等,相信很多小伙伴跟我一样也是一脸茫然,所以在搭建环境之前有必要先了解一下它们是什么,有什么样的关 ...

  6. web自动化之定位

    UI自动化必不可少的操作--元素定位 8大基础定位 driver.find_element_by_id() # id定位 driver.find_element_by_name() # name定位 ...

  7. Java多线程之线程同步【synchronized、Lock、volatitle】

    线程同步 线程同步:当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多. ...

  8. Linux下面有7个运行等级  run level

    Linux下面有7个运行等级  run level run level 0  系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 run level 1  单用户工作状态,root权限,用于系 ...

  9. P5018 [NOIP2018 普及组] 对称二叉树

    P5018 [NOIP2018 普及组] 对称二叉树 题目 P5018 思路 通过hash值来判断左右树是否相等 \(hl[i]\) 与 \(Hl[i]\) 是防止hash冲突, \(r\) 同理 注 ...

  10. callbale 和runnable 区别

    Callable接口: 1 2 3 public interface Callable<V> {     V call() throws Exception; } Runnable接口: ...