Pandas使用的注意事项
Pandas 基于 NumPy 构建,它遵循 NumPy 设定的一些规则。因此,当您在使用 Pandas 时,需要额外留意一些事项,避免出现一些不必要的错误。
if语句使用
在 if 语句中,如果您需要将 Pandas 对象转换为布尔值时,需要格外留意,这种操作会引起 ValueError 异常, 下面通过一组示例做简单说明:
import pandas as pd
if pd.Series([False, True, False]):
print('I am True')
输出结果:
从输出结果可以看出,上述代码引发了 ValueError 错误,并告诉我们 Series 的真值是不明确的。下面对其进行了简单分析:ValueError
....
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
如果 if 语句判断为 True,可能是认为它的长度并不是 0,反之 if 语句判断为 Fasle,可能是认为 Series 的数据值中包含了 False 值,因此是真还是假,无法判断,所以此处抛出了 ValueError 错误。
上述代码给出的修改建议,如下所示:
import pandas as pd
#使用 any()方法解决
if pd.Series([False, True, False]).any():
print("I am 编程帮 www.bianchen网站站点" rel="nofollow" />
I am 编程帮 www.bianchen网站站点" rel="nofollow" />
输出结果:单个布尔元素的 Series 对象,那么您可以使用 bool() 方法进行修改,如下所示: import pandas as pd
print(pd.Series([False]).bool())
False
布尔运算
如果在 Pandas 对象中使用==(相等)和!=(不相等) 这样的布尔运算符时,将返回一个布尔序列,示例如下:import pandas as pd
s = pd.Series(range(4))
#返回布尔值序列,行索引为3的位置为True
print(s==3)
输出结果:
0 False
1 False
2 False
3 True
dtype: bool
isin()操作
isin() 也会返回一个布尔序列,它用来判断元素值是否包含在的 Series 序列中。示例如下:
输出结果:import pandas as pd
s = pd.Series(list('abc'))
s = s.isin(['a', 'c', 'e'])
print(s)
0 True
1 False
2 True
dtype: bool
reindex()操作
reindex() 函数表示重置行索引,该方生成新的 Pandas 对象,示例如下:
import pandas as pd
import 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']))
输出结果:
one two three four
a 0.727276 -0.360391 0.381606 1.195126
b -1.974803 0.009088 -1.065647 0.628699
2 0.156798 -1.116029 1.020673 -0.215485
3 -1.310007 0.601206 0.417439 0.049863
e 0.232375 0.235999 -1.886337 -0.421110
5 0.488758 0.108129 -1.405737 2.375517
one two three four
a 0.727276 -0.360391 0.381606 1.195126
b -1.974803 0.009088 -1.065647 0.628699
5 0.488758 0.108129 -1.405737 2.375517
one two three four
2 0.156798 -1.116029 1.020673 -0.215485
e 0.232375 0.235999 -1.886337 -0.421110
- 随机文章
- 国足 马尔代夫 几点(国足客场挑战马尔代夫,备战情况如何?)
- 印度 马尔代夫 控制(印度限制赴马尔代夫旅游,旅客需提供阴性COVID测试证明)
- 斐济 马尔代夫 毛里求斯(三大度假胜地横跨印度洋:斐济、马尔代夫、毛里求斯)
- 马尔代夫当地语言( .)
- 印度马尔代夫起火(印度游船被熊熊大火吞噬,数十人遇难)
- 义乌 马尔代夫(义乌与马尔代夫密切合作 促进经济共赢)
- 天堂之旅马尔代夫(马尔代夫之旅:探寻天堂般的度假圣地)
- 日本马尔代夫战绩(日本国家队成功获得马尔代夫对战胜利)
- 孝昌县得马尔代夫(孝昌县民间热门度假胜地:得马尔代夫)
- 山东龙口马尔代夫(龙口首个马尔代夫主题公园正式开放!)
- 日本冲绳马尔代夫(冲绳岛上发现美如马尔代夫的海洋景色)
- 马尔代夫 酒店排名(马尔代夫最佳酒店排名Top10)
- 武汉马尔代夫花费(武汉游客前往马尔代夫的花费是多少?)
- 象山中国马尔代夫(中国的马尔代夫——浙江象山旅游纪实)
- 苏州马尔代夫洗浴(苏州一家洗浴馆致力营造马尔代夫风情)
- 浙江临安马尔代夫(浙江临安旅游推介:体验马尔代夫风情)
- 长治马尔代夫游玩(畅游马尔代夫长治,玩转美丽海岛风光)
- 韩国日本马尔代夫(韩日游客回归,马尔代夫旅游重新开启)
- 连江旅游马尔代夫(连江闽南潜水圣地,恍似马尔代夫风光)
- 湖南马尔代夫大学(湖南建设马尔代夫大学,助力教育发展)
- 英国 马尔代夫(英国游客能否重新启动马尔代夫旅游?)
- 重庆马尔代夫河边(重庆海滨度假村,仿若置身于马尔代夫)
- 马尔代夫仪态礼仪(马尔代夫文化:让我们学习仪态和礼仪)
- 潍坊人造马尔代夫(潍坊市打造浪漫人造马尔代夫度假胜地)
- 马尔代夫上帝眼泪(马尔代夫美景:上帝泪水湖畔浪漫之旅)
- 马尔代夫下场放歌(马尔代夫举行音乐盛典,民众嗨唱狂欢)
- 斐济 马尔代夫(重写后的标题:美丽岛国斐济与马尔代夫惊艳亮相)
- 马尔代夫单板划船(单板划船:探索马尔代夫蓝色海洋之旅)
- 马尔代夫历史疆域(探寻马尔代夫的历史领土:过去与现在)
- 马尔代夫优美句子(美丽的马尔代夫:令人流连忘返的天堂)
