其实每一篇博客我都要用很多琐碎的时间片段来学完写完,每次一点点,用到了就学一点,学一点就记录一点,要用上好几天甚至一两个礼拜才感觉某一小类的知识结构学的差不多了。

Pandas 是基于 NumPy 的一个开源 Python 库,它被广泛用于快速分析数据,以及数据清洗和准备等工作。它的名字来源是由“ Panel data”(面板数据,一个计量经济学名词)两个单词拼成的。简单地说,你可以把 Pandas 看作是 Python 版的 Excel。

一. 数据结构介绍

在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame。Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能;DataFrame类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵活应用

1.Series的介绍

1)用一维数组创建序列

2)通过字典创建序列

2.DataFrame

1)用字典创建DataFrame

2)查 其中某一列

我们只获取一列,所以返回的就是一个 Series。可以用 type() 函数确认返回值的类型

3)查多列

多列的是DataFrame

4)增加一个新列--------直接加

5)增加一个新列--------用现有的列去产生新的列

6)从 DataFrame 里删除行/列

想要删除某一行或一列,可以用 .drop() 函数。在使用这个函数的时候,你需要先指定具体的删除方向,axis=0 对应的是行 row,而 axis=1 对应的是列 column 。

查一下

这是为了防止误删除

7) 真删除某列,再加个参数就好了

8)获取某行,或者某几行

]

列是同一个道理

9)加筛选条件

10)新加一列

11)重置索引

可以用 .reset_index() 简单地把整个表的索引都重置掉

和删除操作差不多,.reset_index() 并不会永久改变你表格的索引,除非你调用的时候明确传入了 inplace 参数,比如:.reset_index(inplace=True)

还可以用 .set_index() 方法,将 DataFrame 里的某一列作为索引来用

注意,不像 .reset_index() 会保留一个备份,然后才用默认的索引值代替原索引,.set_index() 将会完全覆盖原来的索引值。

12)创建多级索引ata

多级索引其实就是一个由元组(Tuple)组成的数组,每一个元组都是独一无二的

可以从一个包含许多数组的列表中创建多级索引(调用 MultiIndex.from_arrays ),

也可以用一个包含许多元组的数组(调用 MultiIndex.from_tuples )

用一对可迭代对象的集合(比如两个列表,互相两两配对)来构建(调用MultiIndex.from_product )。

举个例子

13) 获取多级索引中的数据,还是用到 .loc[]

3.清洗数据

1)删除或者填充空值

在许多情况下,如果你用 Pandas 来读取大量数据,往往会发现原始数据中会存在不完整的地方。在 DataFrame 中缺少数据的位置, Pandas 会自动填入一个空值,比如 NaN或 Null 。因此,我们可以选择用 .dropna() 来丢弃这些自动填充的值,或是用.fillna() 来自动给这些空值填充数据。

当你使用 .dropna() 方法时,就是告诉 Pandas 删除掉存在一个或多个空值的行(或者列)。删除行用的是 .dropna(axis=0) ,删除列用的是 .dropna(axis=1) 。

请注意,如果你没有指定 axis 参数,默认是删除行。

2)替换na

如果你使用 .fillna() 方法,Pandas 将对这个 DataFrame 里所有的空值位置填上你指定的默认值

4.数据描述

1) describe()

Pandas 的 .describe() 方法将对 DataFrame 里的数据进行分析,并一次性生成多个描述性的统计指标,方便用户对数据有一个直观上的认识。

生成的指标,从左到右分别是:计数、平均数、标准差、最小值、25% 50% 75% 位置的值、最大值。

如果你不喜欢这个排版,你可以用 .transpose() 方法获得一个竖排的格式:

2) 堆叠(Concat)

因为我们没有指定堆叠的方向,Pandas 默认按行的方向堆叠,把每个表的索引按顺序叠加。如果你想要按列的方向堆叠,那你需要传入 axis=1 参数:

3)归并(Merge)

使用 pd.merge() 函数,能将多个 DataFrame 归并在一起,它的合并方式类似合并 SQL 数据表的方式。

归并操作的基本语法是 pd.merge(left, right, how='inner', on='Key') 。其中 left 参数代表放在左侧的 DataFrame,而 right 参数代表放在右边的 DataFrame;how='inner' 指的是当左右两个 DataFrame 中存在不重合的 Key 时,取结果的方式:inner 代表交集;Outer 代表并集。最后,on='Key' 代表需要合并的键值所在的列,最后整个表格会以该列为准进行归并。

其他的 就 不 一一举例了

同时,我们可以传入多个 on 参数,这样就能按多个键值进行归并

4)join

如果你要把两个表连在一起,然而它们之间没有太多共同的列,那么你可以试试 .join() 方法。和 .merge() 不同,连接采用索引作为公共的键,而不是某一列。

同样,inner 代表交集,Outer 代表并集

5.数值处理

1)查找不重复的值

unique() 方法

查个数

还可以用 .value_counts() 同时获得所有值和对应值的计数

2).apply() 方法,应用自定义函数

用 .apply() 方法,可以对 DataFrame 中的数据应用自定义函数,进行数据处理

3)调用内置函数

4) 用 lambda 表达式

你定义了一个函数,而它其实只会被用到一次。那么,我们可以用 lambda 表达式来代替函数定义,简化代码

5) DataFrame 的属性

DataFrame 的属性包括列和索引的名字。假如你不确定表中的某个列名是否含有空格之类的字符,你可以通过 .columns 来获取属性值,以查看具体的列名。

6)排序

如果想要将整个表按某一列的值进行排序,可以用 .sort_values() :

如上所示,表格变成按 col2 列的值从小到大排序。要注意的是,表格的索引 index 还是对应着排序前的行,并没有因为排序而丢失原来的索引数据。

7)查找空值

可以用 Pandas 的 .isnull() 方法,方便快捷地发现表中的空值

参考:

https://blog.csdn.net/qq_42156420/article/details/82813482

https://www.cnblogs.com/nxld/p/6058591.html

python中pandas什么意思_python pandas 基础理解相关推荐

  1. python中convert函数用法_Python Pandas DataFrame.tz_convert用法及代码示例

    Pandas DataFrame是带有标签轴(行和列)的二维大小可变的,可能是异构的表格数据结构.算术运算在行和列标签上对齐.可以将其视为Series对象的dict-like容器.这是 Pandas ...

  2. python中change的用法_Python Pandas dataframe.pct_change()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas dataframe.pct ...

  3. python中mean的用法_Python Pandas Series.mean()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  4. python中mean的用法_Python Pandas dataframe.mean()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas dataframe.mea ...

  5. python中oxf2是多少_python 函数基础2

    一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点:1.约束函数的调用者必须按照Kye=value的形式传值. 2,.约束函数的调用者必须用我们指定的Key名. def aut ...

  6. python中info的用法_Python pandas.DataFrame.info函数方法的使用

    DataFrame.info(self, verbose=None, buf=None, max_cols=None, memory_usage=None, null_counts=None) [so ...

  7. python中concat的用法_python pandas concat用法及代码示例

    沿特定轴将 pandas 对象与其他轴上的可选设置逻辑连接起来. 也可以在串联轴上添加一层分层索引,如果标签在传递的轴号上相同(或重叠),则可能很有用. 参数: objs:a sequence 或 m ...

  8. python中loc什么意思_python pandas 中 loc iloc 用法区别

    转自:https://blog.csdn.net/qq_21840201/article/details/80725433 ### 随机生DataFrame 类型数据 import pandas as ...

  9. python中mean的用法_Python pandas.DataFrame.mean函数方法的使用

    DataFrame.mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)[source] 返回所请求轴 ...

  10. python中change的用法_python pandas Series.pct_change用法及代码示例

    当前元素与先前元素之间的百分比变化. 默认情况下,计算与前一行的百分比变化.这在比较元素时间序列中的变化百分比时很有用. 参数: periods:int, 默认为 1形成百分比变化所需的时间. fil ...

最新文章

  1. Ubuntu终端远程工具
  2. Java取当前时间,深夜思考
  3. 深入分析H2数据库控制台中无需身份验证的RCE漏洞
  4. 数据库:SQL 语法速成手册,建议新手收藏!
  5. UniMelb Comp30022 IT Project (Capstone) - 2.Vuforia in Unity
  6. 遍历Panel1中所有label控件的Text
  7. 关于System.identityHashCode(obj) 与 obj.hashcode()
  8. 计算机教室网络布线费用,办公室网络布线价格是怎么预算的
  9. 2021年全国各行业统计年鉴整理
  10. HRTF音频3D定位技术
  11. 985大学计算机专业高考录取分数线,985大学历年录取分数线
  12. coreldraw橙子怎么画_CDR绘制橙子和冰块教程
  13. 异步时间扭曲(Asynchronous Timewarp简称ATW)一种生成中间帧技术
  14. 二维码:STM32F103 + LCD屏制作二维码
  15. 跟狗屎一样的代码,到底该如何重构?
  16. 用汽车拉苹果的例子来说HTTPS的安全性很容易理解 但HTTPS并不是绝对可靠的
  17. java 建一个car_大学java习题 :定义一个汽车类car
  18. XAMPP的下载与安装
  19. 上周丢钥匙事件的反思感悟
  20. C语言报名里面培训怎么填,庄河c语言编程学习,庄河学c语言编程培训,庄河学c语言编程报个培训班怎么样...

热门文章

  1. python爬虫模式_python爬虫的入门试炼
  2. C51单片机数码管动态显示
  3. 华为鸿蒙微波炉,再见EMUI,你好鸿蒙!华为不止做手机
  4. 伤害世界怎么自建服务器,伤害世界服务器架设方法_伤害世界Hurtworld怎么架设服务器_游戏堡...
  5. 大学python笔记_python笔记(1) 关于我们应不应该继续学习python
  6. Alpaca 羊驼API的使用
  7. 支持 Docker 运行的 ChatGPT 平替之 Alpaca-Turbo (羊驼)
  8. vue3+Typescript---Composition API(常用部分)学习笔记(二)
  9. 卷积神经网络学习项目--Kaggle仙人掌识别--基于TensorFlow(未完成)
  10. 个人项目----吴华文