数据分析课程笔记(四)pandas、series、dataframe、索引数据和缺失数据处理

2023-11-04

pandas

pandas is an open source, BSD-licensed library providinghigh-performance, easy-to-use data structures and data analysis tools for the Python programming language.

为什么要学习pandas

在这里插入图片描述

常见数据类型

在这里插入图片描述

创建series

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Series切片和索引

在这里插入图片描述
在这里插入图片描述

Series的索引和值

在这里插入图片描述

在这里插入图片描述

读取外部数据

在这里插入图片描述
在这里插入图片描述
数据来源:
https://www.kaggle.com/new-york-city/nyc-dog-names/data

# coding=utf-8
import pandas as pd

#pandas读取csv中的文件
df = pd.read_csv("./dogNames2.csv")

print(df[(800<df["Count_AnimalName"])|(df["Count_AnimalName"]<1000)])

在这里插入图片描述

# coding=utf-8
from pymongo import MongoClient
import pandas as pd


client = MongoClient()
collection = client["douban"]["tv1"]
data = collection.find()
data_list = []
for i in data:
    temp = {}
    temp["info"]= i["info"]
    temp["rating_count"] = i["rating"]["count"]
    temp["rating_value"] = i["rating"]["value"]
    temp["title"] = i["title"]
    temp["country"] = i["tv_category"]
    temp["directors"] = i["directors"]
    temp["actors"] = i['actors']
    data_list.append(temp)
# t1 = data[0]
# t1 = pd.Series(t1)
# print(t1)

df = pd.DataFrame(data_list)
# print(df)

#显示头几行
print(df.head(1))
# print("*"*100)
# print(df.tail(2))

#展示df的概览
# print(df.info())
# print(df.describe())
print(df["info"].str.split("/").tolist())



DataFrame

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# coding=utf-8
import pandas as pd

df = pd.read_csv("./dogNames2.csv")
# print(df.head())
# print(df.info())

#dataFrame中排序的方法
df = df.sort_values(by="Count_AnimalName",ascending=False)
# print(df.head(5))

#pandas取行或者列的注意点
# - 方括号写数组,表示取行,对行进行操作
# - 写字符串,表示的去列索引,对列进行操作
print(df[:20])
print(df["Row_Labels"])
print(type(df["Row_Labels"]))

索引数据

在这里插入图片描述

loc

在这里插入图片描述

iloc

在这里插入图片描述

布尔索引

在这里插入图片描述
在这里插入图片描述

字符串方法

在这里插入图片描述

缺失数据处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

#### numpy数组的拼接
  - np.hstack(t1,t2)
  - np.vstack(t1,t2)

#### Series如何创建,如何进行索引和切片
  - pd.Series([])
  - pd.Series({})  #字典的键就是Series的索引

  - s1["a"]
  - `s1[["a","c"]]`
  - `s1[1]`
  - `s2[[1,5,3]]`
  - s2[4:10]


#### DataFrame如何创建,如何进行索引和切片
  - `pd.DataFrame([[],[],[]])` #接收2维数组
  - pd.DataFrame({"a":[1,23],"c":[2,3]})
  - pd.DataFrame([{},{},{}])


#### DataFrame缺失数据处理
  - 0
    - 并不是所有的都需要处理
    - df[df==0] = np.nan
  - nan
    - pd.isnan ,pd.notnan
    - df.dropna(axis=0,how="any[all]",inplace=True)
    - df.fillna(df.mean())
    - df["A"] = df["A"].fillna(df["A"].mean())

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析课程笔记(四)pandas、series、dataframe、索引数据和缺失数据处理 的相关文章

随机推荐

  • Java加密技术(九)——初探SSL

    在 Java加密技术 八 中 我们模拟了一个基于RSA非对称加密网络的安全通信 现在我们深度了解一下现有的安全网络通信 SSL 我们需要构建一个由CA机构签发的有效证书 这里我们使用上文中生成的自签名证书 zlex cer 这里 我们将证书
  • 2021-06-24

    daily plan 2021 05 2021年05月 2021 05 06 Spring概要与入门 https www yuque com haohaoxuexicainengtiantianxiangshang ldmxww eb8tv
  • USB fastboot

    1 Samsung fastboot flashing unlock 2 bootloader增加解锁密码 diff git a app aboot aboot c b app aboot aboot c index e4d46e4 1b4
  • win10安装.NET Framework 4.5.2时会提示:这台计算机中已经安装了 .NET Framework 4.5.2 或版本更高的更新

    问题现象 win10安装 NET Framework 4 5 2时会提示 这台计算机中已经安装了 NET Framework 4 5 2 或版本更高的更新 问题原因 Win10系统自带的 net framework版本为4 7 问题解决 1
  • 1352--奖金(拓扑排序)

    输入样例 2 1 1 2 输出样例 201 解析 拓扑排序 判断是否存在结果 include
  • 鸢尾花分类

    鸢尾花数据集 鸢尾花数据集包含四个特征和一个标签 这四个特征确定了单株鸢尾花的下列植物学特征 花萼长度 花萼宽度 花瓣长度 花瓣宽度 我们的模型会将这些特征表示为float32数值数据 该标签确定了鸢尾花品种 品种必须是下列任意一种 山鸢尾
  • 交流耦合与直流耦合

    交流耦合 AC Coupling 就是通过隔直电容耦合 去掉了直流分量 直流耦合 DC Coupling 就是直通 交流直流一起过 并不是去掉了交流分量 比如在3V的直流电平上叠加一个1Vpp的弦波 如果用直流耦合 看到的是以3V为基准 0
  • Codeblocks+MinGW+wxWidgets搭建方法

    Code Block MinGW 和 wxWidgets 分别是三个著名的开源项目 分别是 IDE 编译器和界面库 由这三样搭建起来的全开源纯c 开发环境 功能不逊色于Visual C 由于是开源的 这样的环境还是免费的 并且是跨平台的 下
  • [管理与领导-73]:IT基层管理者 - 辅助技能 - 4- 职业发展规划 - 如何持续提升自我

    目录 一 能力三核 1 1 专业知识能力 1 2 通用管理能力 1 3 优秀品质能力 二 能力发展策略 三 学习的四种渠道 四 有效的刻意练习 一 能力三核 1 1 专业知识能力 专业知识能力是指在特定领域或行业中所掌握的专业知识和技能 它
  • Ubuntu空间不足,如何扩容

    目录 1 硬盘操作步骤 2 Ubuntu命令操作 安装分区管理工具 3 分区结果展示 1 硬盘操作步骤 最近发现Ubuntu空间不足 怎么去扩容呢 第一步 点击 硬盘 第二步 点击 扩展 第三步 修改 最大磁盘容量大小 选择一个自己认为比较
  • 一. k8s-基础概念

    1 kubernetes是什么 Kubernetes 是一个可移植 可扩展的开源容器编排系统 主要用于自动化部署 扩展和管理容器应用 提供资源调度 部署管理 服务发现 扩容缩容 监控等功能 对于负载均衡 服务发现 高可用 滚动升级 自动伸缩
  • 303. Range Sum Query - Immutable dynamic programming

    Given an integer array nums find the sum of the elements between indices i and j i j inclusive Example Given nums 2 0 3
  • 多电平双向DC/DC直流变换器的工作原理(以三电平为例子)

    多电平双向DCDC变换器的工作原理 一 所用论文和参考文献 1 1 主要是中文的文献 二 工作原理和重要概念 2 1 飞跨电容的作用 2 2 三电平的工作原理 1 3 多电平的优点 二 一些注意点 2 1 电感电流的变化 2 2 多飞跨电容
  • UE4 c++动态加载Ui并添加到窗口

    创建界面并且添加到窗口用蓝图创建的话 比较简单 本篇博文就不介绍了 有时候需要用C 添加已经创建好的界面蓝图到窗口 下面就简单介绍一下怎么用C 的方法添加 涉及到动态加载 FString UiPath TEXT Script UMGEdit
  • FPGA设计:制作一个频率计

    这次把自己做过的一个频率计拿出来跟大家分享一下 项目采用VHDL语言来编写 一 功能介绍 对信号源输入信号的频率进行正确测量并显示 测量范围 0 9999Hz 测量精度 1Hz 测量误差 1Hz 因为用的FPGA板只有四个数码管 所以就采用
  • 84.Robot Framework简介及安装验证方法

    文章目录 requirements 简介 Robot Framework架构 安装Robot Framework 转载请注明原始链接 https blog csdn net a464057216 article details 104369
  • 距离向量(DV)算法的问题

    上一篇将了DV协议的基本内容 DV算法固然简单易懂 但应用于实际后 人们很快发现这种算法在某些特定情况下是会出现一些致命的问题的 在这篇文章中 我们来讨论下这些问题及其解决方法 分割线 选路环路 routing loop 和计数到无穷 co
  • 嵌入式毕业设计选题推荐 题目汇总

    文章目录 1前言 2 如何选题 2 1 不要给自己挖坑 2 2 难度把控 2 3 如何命名题目 3 单片机 嵌入式 选题大全 3 1 嵌入式方向 3 2 算法方向 3 3 移动通信方向 3 4 学长作品展示 4 最后 1前言 近期不少学弟学
  • linux开机dracut界面_CentOS启动报错dracut Warning: Boot has failed的解决方法

    CentOS无法启动 启动分区无法找到 然后就报了个堆栈信息 ACPI wmi Mapper loaded dracut Warning No root device block dev sda4 found dracut Warning
  • 数据分析课程笔记(四)pandas、series、dataframe、索引数据和缺失数据处理

    数据分析课程笔记 pandas 为什么要学习pandas 常见数据类型 创建series Series切片和索引 Series的索引和值 读取外部数据 DataFrame 索引数据 loc iloc 布尔索引 字符串方法 缺失数据处理 pa