Pandas使用的注意事项

Pandas基于NumPy构建,它遵循NumPy设定的一些规则。因此,当您在使用Pandas时,需要额外留意一些事项,避免出现一些不必要的错误。

if语句使用

在if语句中,如果您需要将Pandas对象转换为布尔值时,需要格外留意,这种操作会引起ValueError异常,下面通过一组示例做简单说明:

import pandas as pdif pd.Series([False, True, False]):
   print('I am True')123复制代码类型:[python]

输出结果:

ValueError
....
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().123复制代码类型:[python]

从输出结果可以看出,上述代码引发了ValueError错误,并告诉我们Series的真值是不明确的。下面对其进行了简单分析:

如果if语句判断为True,可能是认为它的长度并不是0,反之if语句判断为Fasle,可能是认为Series的数据值中包含了False值,因此是真还是假,无法判断,所以此处抛出了ValueError错误。

上述代码给出的修改建议,如下所示:

import pandas as pd#使用 any()方法解决if pd.Series([False, True, False]).any():
   print("I am 开课吧广场 https://topic.kaikeba.com/")1234复制代码类型:[python]

输出结果:

I am 开课吧广场 https://topic.kaikeba.com/1复制代码类型:[python]

如果要是计算单个布尔元素的Series对象,那么您可以使用bool()方法进行修改,如下所示:

import pandas as pd
print(pd.Series([False]).bool())12复制代码类型:[python]

输出结果:

False12复制代码类型:[python]

布尔运算

如果在Pandas对象中使用==(相等)和!=(不相等)这样的布尔运算符时,将返回一个布尔序列,示例如下:

import pandas as pd
s = pd.Series(range(4))#返回布尔值序列,行索引为3的位置为Trueprint(s==3)1234复制代码类型:[python]

输出结果:

0 False1 False2 False3 Truedtype: bool12345复制代码类型:[python]

isin()操作

isin()也会返回一个布尔序列,它用来判断元素值是否包含在的Series序列中。示例如下:

import pandas as pd
s = pd.Series(list('abc'))
s = s.isin(['a', 'c', 'e'])
print(s)1234复制代码类型:[python]

输出结果:

0 True1 False2 Truedtype: bool1234复制代码类型:[python]

reindex()操作

reindex()函数表示重置行索引,该方法会生成新的Pandas对象,示例如下:

import pandas as pdimport numpy as np#index行索引使用字符和数字混合的形式df = pd.DataFrame(np.random.randn(6, 4), columns=['one', 'two', 'three','four'],index=['a','b',2,3,'e',5])print (df)#数字与字符混合后取数据print (df.reindex(['a','b',5]))print (df.reindex([2,'e']))12345678复制代码类型:[python]

输出结果:

one two  three   four
a  0.727276 -0.360391  0.381606  1.195126b -1.974803  0.009088 -1.065647  0.6286992  0.156798 -1.116029  1.020673 -0.2154853 -1.310007  0.601206  0.417439  0.049863e  0.232375  0.235999 -1.886337 -0.4211105  0.488758  0.108129 -1.405737  2.375517

  one two  three   four
a  0.727276 -0.360391  0.381606  1.195126b -1.974803  0.009088 -1.065647  0.6286995  0.488758  0.108129 -1.405737  2.375517

  one two  three   four2  0.156798 -1.116029  1.020673 -0.215485e  0.232375  0.235999 -1.886337 -0.421110
(0)

相关推荐

  • pandas100个骚操作:变量类型自动转换

    关键时间,第一时间送达! 大家好,我是你们的东哥. 本篇是pandas100个骚操作的第一篇:变量类型自动转换 在用pandas进行数据清洗的过程中,变量的类型转换是一个必然会遇到的步骤.清洗初期查看 ...

  • (5条消息) pandas中category类型的数据处理

    pandas中category类型的数据 用途和特点 常见的问题处理 Categorical 数据 用途和特点 category是pandas中定义的一个数据类型,相当于R中的因子.可以对特点的类型数 ...

  • Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略

    Python之pandas:数据类型变换之object.category.bool.int32.int64.float64以及数据类型标准化之详细攻略推荐文章​​​​​​​Python之pandas: ...

  • 舌诊系列:舌诊注意事项以及正常舌的判别(1)

    舌诊系列:舌诊注意事项以及正常舌的判别

  • 舌诊的注意事项

    舌诊的注意事项,什么情况舌诊和拍舌头会有误差 舌诊的注意事项,什么情况舌诊和拍舌头会有误差 展开

  • 4种常见阴道炎该如何联合用药?这些注意事项千万要记住!

    夏季天气闷热潮湿,正是阴道炎的高发时期.尽管难以启齿,但阴道炎是女性常见的疾病之一,大部分女性都有可能遭受阴道炎的困扰. 常见的阴道炎有细菌性阴道炎.霉菌性阴道炎.滴虫性阴道炎.老年性阴道炎.药店人快 ...

  • 领导在重大事项上决策失误,作为主责的下属,要不要执行?

    公众号:洞论权谋 作者:洞见先生1 前言 现实中,领导往往在信息完整或情绪失控的情况下,对一些重大事情做出错误的决策,而作为主责执行的下属来讲,常常会非常纠结和难受. 如果按领导的决策执行,将酿成更大 ...

  • 加盟奶茶店有什么需要注意的事项?

    开设奶茶店,店铺位置一定要好,一个好的地段,无论从顾客数量还是单价都会有很好的提升.开展活动,推新款很快就被人接受. 产品口味好,价值高.奶茶的口味是奶茶的生命线.如果茶店连口味都保证不了,宣传再好也 ...

  • 手抖应注意的事项

    特发性震颤(ET)是以姿势性或动作性震颤为主要临床表现的运动障碍性疾病,也是临床最为常见的神经系统疾病之一.据文献报道,特发性震颤患病率为0.35%-4%,在65岁以上人群中可达6.30%.特发性震颤 ...

  • 股权出资注意事项

    来源:PE法宝 一.股权出资的内涵 所谓股权出资,是指股东或者发起人以其持有的其他公司的股权出资,投资于新设立的或者已存续的目标公司的行为. 以股权作为出资,实际上是股权转让,是股东将其持有的其他公司 ...

  • 得了神经炎有什么注意事项?

    得了神经炎有什么注意事项? 神经炎这个病在生活当中并不是很常见的,所以大家对这个病可能会有些陌生.神经炎主要是由于局部神经部 位或者是神经系统发生病变而引起的局部红肿疼痛,或者是麻痹,痉挛,失去知觉等 ...

  • 绣球花怎么养?绣球花的种植方法和注意事项

    爱花之家 花道美育,滋养每一个爱美的灵魂.养花,就像一场旅行,一旦开启,精彩无限,让我们一同享受这段闲暇时光吧! 爱花之家 介绍各种花卉知识,解答养花各种病虫问题,分享植物美图等,为花友养花护航.让花 ...