我有一个相当大的 pandas 数据框(11k 行和 20 列)。一列具有混合数据类型,主要是数字(浮点),其中散布着少量字符串。
在使用混合列中的数据执行一些统计分析之前,我通过查询其他列来对该数据帧进行子集化(但如果存在字符串,则无法执行此操作)。一旦子集化,99% 的情况下,该列都是纯数字,但很少有字符串值会出现在子集中,这是我需要捕获的。
循环 Pandas 混合类型列以检查字符串(或相反检查整个列是否充满数值)的最有效/Pythonic 方法是什么?
如果列中存在单个字符串,我想引发错误,否则继续。
这是一种方法。我不确定它可以矢量化。
import pandas as pd
df = pd.DataFrame({'A': [1, None, 'hello', True, 'world', 'mystr', 34.11]})
df['stringy'] = [isinstance(x, str) for x in df.A]
# A stringy
# 0 1 False
# 1 None False
# 2 hello True
# 3 True False
# 4 world True
# 5 mystr True
# 6 34.11 False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)