pandas 判断是否等于nan_pandas的学习与使用-1

c8c4a6e2cf614fcc0454a1c0a81c5282.png

1.什么是pandas

pandas不是指熊猫0.0,它的全称是Python Data Analysis Library 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

它使Python成为强大而高效的数据分析环境的重要因素之一。

2.导入

#pandas 源于 numpy 两个总是一起使用

import numpy as npimport pandas as pdfrom pandas import Series,DataFrame

Series 是一个类似数组的数据结构

DataFrame 数据框,类似于Excel,DataFrame组织数据,处理数据

3.Series

(1)Series创建

由列表或numpy数组创建,默认索引为0到N-1的整数型索引

obj = Series([1,2,3,4])print(obj)输出:0 11 22 33 4dtype: int64#还可以通过设置index参数指定索引obj2 = Series([1,2,3,4],index=['a','b','c','d'])obj2输出:a 1b 2c 3d 4dtype: int64特别地,由ndarray创建的是引用,而不是副本。对Series元素的改变也会改变原来的ndarray对象中的元素。(列表没有这种情况)a = np.array([1,2,3])obj = Series(a)obj输出:0 11 22 3dtype: int64obj[0]=0print(a)print(obj)输出:[0 2 3]0 01 22 3dtype: int64

由字典创建

obj = Series({'a':1,'b':2})obj输出:a 1b 2dtype: int64

(2)Series索引和切片

显式索引:

- 使用index中的元素作为索引值

- 使用.loc[](推荐)

注意,此时是开区间两边都包含

obj = Series({'a':10,'b':12,'c':17})obja 10b 12dtype: int64obj['a']输出:10obj['a':'c']输出:a 10b 12c 17dtype: int64

隐式索引:

- 使用整数作为索引值

- 使用.iloc[](推荐)

注意,此时是半开区间(前包后不包)

obj[0:1]输出a 10dtype: int64obj.iloc[0]输出:10obj.iloc[0:1]输出:a 10dtype: int64

(3)Series的基本概念

可以把Series看成一个定长的有序字典,可以通过shape,size,index,values等得到series的属性。

a={'语文': 150, '数学': 150 ,'英语' :150, '理综': 300}b=Series(a)display(b.shape,b.size,b.index,b.values)#输出结果(4,)4Index(['语文', '数学', '英语', '理综'], dtype='object')array([150, 150, 150, 300], dtype=int64)

可以通过head(),tail()快速查看Series对象的样式。

b.head(3)#输出结果语文 150数学 150英语 150dtype: int64

当索引没有对应的值时,可能出现缺失数据显示NaN(not a number)的情况。

可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据。

obj = Series([10,4,np.nan])#判断Series是否为不为null,为null返回falsenotnull = pd.notnull(obj)#如果为false将空值设为0for i,d in enumerate(notnull): if d ==0: obj[i] = 0print(obj)

Series对象本身及其索引都有一个name属性

obj.name='123'print(obj)Series.name = "Hello World"print(Series.name)输出:a 1.0b 2.0d NaNName: 123, dtype: float64Hello World

4.Series的运算

适用于numpy的数组运算也适用于Series。

Series之间的运算在运算中自动对齐不同索引的数据如果索引不对应,则补NaN。

A = pd.Series([2,4,6],index=[0,1,2])B = pd.Series([1,3,5],index=[1,2,3])display(A,B)输出:0 21 42 6dtype: int641 12 33 5dtype: int64A+B输出:0 NaN1 5.02 9.03 NaNdtype: float64

注意:要想保留所有的index,则需要使用.add()函数

A.add(B,fill_value=0)输出:0 2.01 5.02 9.03 5.0dtype: float64

今天的学习就到这里,晚安!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值