pandas填充空数组_pandas缺失值处理

1、检查缺失值

为了更容易地检测缺失值(以及跨越不同的数组dtype),Pandas提供了isnull()和notnull()函数,它们也是Series和DataFrame对象的方法 –

示例1

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df[‘one’].isnull())

Python

执行上面示例代码,得到以下结果 –

a False

b True

c False

d True

e False

f False

g True

h False

Name: one, dtype: bool

Shell

示例2

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df[‘one’].notnull())

Python

执行上面示例代码,得到以下结果 –

a True

b False

c True

d False

e True

f True

g False

h True

Name: one, dtype: bool

Shell

缺少数据的计算

在求和数据时,NA将被视为0

如果数据全部是NA,那么结果将是NA

实例1

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df[‘one’].sum())

Python

执行上面示例代码,得到以下结果 –

-2.6163354325445014

Shell

示例2

import pandas as pd

import numpy as np

df = pd.DataFrame(index=[0,1,2,3,4,5],columns=[‘one’,’two’])

print (df[‘one’].sum())

Python

执行上面示例代码,得到以下结果 –

nan

2、清理/填充缺少

数据Pandas提供了各种方法来清除缺失的值。

fillna()函数可以通过几种方法用非空数据”填充”NA值,

在下面的章节中将学习和使用。用标量值替换NaN

以下程序显示如何用0替换NaN

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(3, 3), index=[‘a’, ‘c’, ‘e’],columns=[‘one’,

‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’])

print (df)

print (“NaN replaced with ‘0’:”)

print (df.fillna(0))

Python

执行上面示例代码,得到以下结果 –

one two three

a -0.479425 -1.711840 -1.453384

b NaN NaN NaN

c -0.733606 -0.813315 0.476788

NaN replaced with ”:

one two three

a -0.479425 -1.711840 -1.453384

b 0.000000 0.000000 0.000000

c -0.733606 -0.813315 0.476788

Shell

在这里填充零值; 当然,也可以填写任何其他的值。

填写NA前进和后退

使用重构索引章节讨论的填充概念,来填补缺失的值。

方法 动作

pad/fill 填充方法向前

bfill/backfill 填充方法向后

示例1

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df.fillna(method=’pad’))

Python

执行上面示例代码,得到以下结果 –

one two three

a 0.614938 -0.452498 -2.113057

b 0.614938 -0.452498 -2.113057

c -0.118390 1.333962 -0.037907

d -0.118390 1.333962 -0.037907

e 0.699733 0.502142 -0.243700

f 0.544225 -0.923116 -1.123218

g 0.544225 -0.923116 -1.123218

h -0.669783 1.187865 1.112835

Shell

示例2

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df.fillna(method=’backfill’))

Python

执行上面示例代码,得到以下结果 –

one two three

a 2.278454 1.550483 -2.103731

b -0.779530 0.408493 1.247796

c -0.779530 0.408493 1.247796

d 0.262713 -1.073215 0.129808

e 0.262713 -1.073215 0.129808

f -0.600729 1.310515 -0.877586

g 0.395212 0.219146 -0.175024

h 0.395212 0.219146 -0.175024

3、丢失缺少的值

如果只想排除缺少的值,则使用dropna函数和axis参数。 默认情况下,axis = 0,即在行上应用,这意味着如果行内的任何值是NA,那么整个行被排除。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df.dropna())

Python

执行上面示例代码,得到以下结果 –

one two three

a -0.719623 0.028103 -1.093178

c 0.040312 1.729596 0.451805

e -1.029418 1.920933 1.289485

f 1.217967 1.368064 0.527406

h 0.667855 0.147989 -1.035978

Shell

示例2

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’, ‘f’,

‘h’],columns=[‘one’, ‘two’, ‘three’])

df = df.reindex([‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’])

print (df.dropna(axis=1))

Python

执行上面示例代码,得到以下结果 –

Empty DataFrame

Columns: []

Index: [a, b, c, d, e, f, g, h]

Shell

替换丢失(或)通用值

很多时候,必须用一些具体的值取代一个通用的值。可以通过应用替换方法来实现这一点。

用标量值替换NA是fillna()函数的等效行为。

示例1

import pandas as pd

import numpy as np

df = pd.DataFrame({‘one’:[10,20,30,40,50,2000],

‘two’:[1000,0,30,40,50,60]})

print (df.replace({1000:10,2000:60}))

Python

执行上面示例,得到以下结果 –

one two

0 10 10

1 20 0

2 30 30

3 40 40

4 50 50

5 60 60

Python数据分析(二)pandas缺失值处理

import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index=[‘a’, ‘c’, ‘e’ …

Pandas系列(六)-时间序列详解

内容目录 1. 基础概述 2. 转换时间戳 3. 生成时间戳范围 4. DatetimeIndex 5. DateOffset对象 6. 与时间序列相关的方法 6.1 移动 6.2 频率转换 6.3 …

Pandas 时间序列

导入相关库 import numpy as np import pandas as pd 在做金融领域方面的分析时,经常会对时间进行一系列的处理.Pandas 内部自带了很多关于时间序列相关的工具 …

Python 基础(五)

pandas缺失值处理 import pandas as pd importrandom df01 = pd.DataFrame(np.random.randint(1,9),size = (4,4) …

Pandas系列(三)-缺失值处理

内容目录 1. 什么是缺失值 2. 丢弃缺失值 3. 填充缺失值 4. 替换缺失值 5. 使用其他对象填充 数据准备 import pandas as pd import numpy as np in …

【学习】数据处理基础知识(缺失值处理)【pandas】

缺失数据(missing data)大部分数据分析应用中非常常见.pd设计目标之一就是让缺失数据的处理任务尽量轻松. pd 使用浮点值NaN(Not a Number) 表示浮点和非浮点数组中的缺失数 …

Python Pandas找到缺失值的位置

python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺 …

pandas判断缺失值的办法

参考这篇文章: https://blog.csdn.net/u012387178/article/details/52571725 python pandas判断缺失值一般采用 isnull(),然而 …

pandas 学习(四)—— 数据处理(清洗)、缺失值的处理

创建 DataFrame: df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list(‘ABCD’)) 0. 为 data fr …

随机推荐

Linux Command Line 笔记(1)

Yunduan CUI graphical user interfaces make easy tasks easy, while command line interfaces make diffi …

XHTML标签的嵌套规则分析

在 XHTML 的语言里,我们都知道:ul 标签包含着 li.dl 标签包含着 dt 和 dd——这些固定标签的嵌套规则十分明确.但是,还有许多标签是独立的,它们没有被捆绑在一起,比如 h1.div. …

【SPOJ QTREE2】QTREE2 – Query on a tree II(LCA)

You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, …

C++将string转化成字符串数组

//str为需要截断的string,pattern为分隔符 std::vector

【转】 分析iOS Crash文件:符号化iOS Crash文件的3种方法

当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息 …

SQL 默认数据库被误删

我今天也遇到了,自己解决了.这是我总结的:(不管这帖子沉到哪里了) 删除了SQL服务器默认数据库,无法连接服务器,用户[]登录失败. 1,使用管理员账户修改此用户的默认数据库. 企业管理器,展开 …

Android点击Button按钮的四种事件监听方法总结

首先我们在activity_main.xml里面先定义一个Button空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Tomcat中常见线程说明

http://blog.csdn.NET/jeff_fangji/article/details/41786205 本文讲述了Tomcat的常见线程的功能.名称.线程池和配置等信息,其中源码来自于To …

我的第一个chrome浏览器扩展 5分钟学习搞定

注意: 文件名必须是 manifest, ,注意扩展名是json, 新建一个文件夹,然后创建一个文本文件,作为这个扩展程序的配置文件,所以文件名是manifest.json, 感谢https://ww …

vue项目部署到服务器

1.配置config目录下index.js index: path.resolve(__dirname, ‘../dist/index.html’), assetsRoot: path.resolve …

Original: https://blog.csdn.net/weixin_29038345/article/details/113471897
Author: 独角瘦
Title: pandas填充空数组_pandas缺失值处理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/753546/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球