熊猫中向量化字符串操作的时间安排

马克西姆

str.replace内置函数相比,DataFrame包装器的性能下降了5倍有谁知道是什么原因造成的?

df = pd.DataFrame({'word':['bird']*100000})
%timeit df.word.str.replace('bird','theword')
%timeit df.word.map(lambda x: x.replace('bird','theword'))
1 loops, best of 3: 266 ms per loop
10 loops, best of 3: 55.4 ms per loop
乔里斯

原因是str.replace将能够处理NaN,而使用lambda进行的自定义替换将在此方面发生错误:

In [17]: df.iloc[0,0] = np.nan

In [18]: df.word.str.replace('bird','theword').head()
Out[18]:
0        NaN
1    theword
2    theword
3    theword
4    theword
Name: word, dtype: object

In [19]: df.word.map(lambda x: x.replace('bird','theword'))

AttributeError: 'float' object has no attribute 'replace'

在内部str.replace还使用lambda x: x.replace(pat, repl, n)(如果不使用caseflags关键字,则它将使用regex)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫数据框中的向量化字符串操作

来自分类Dev

向量化条件字符串操作

来自分类Dev

熊猫if向量化操作中的语句

来自分类Dev

字符串匹配的向量化

来自分类Dev

Python:将字符串向量化为Datetime循环

来自分类Dev

向量化熊猫中的函数

来自分类Dev

多列熊猫矢量化字符串函数?

来自分类Dev

向量化日期时间熊猫比较

来自分类Dev

字符串向量的初始化向量的编译时间

来自分类Dev

长字符向量的特定字符串操作

来自分类Dev

熊猫中DatetimeIndex的向量化构造

来自分类Dev

使用Numpy或Pandas对字符计数的字符串进行向量化拆分

来自分类Dev

字符串向量中的野牛输入

来自分类Dev

从向量中删除字符串

来自分类Dev

如何计算向量中的字符串?

来自分类Dev

在python中乘以字符串向量

来自分类Dev

解码R中的字符串向量

来自分类Dev

向量中的字符串相等

来自分类Dev

替换字符串向量中的字母

来自分类Dev

从向量中删除字符串

来自分类Dev

测试字符串向量中的 int

来自分类Dev

在向量中组合字符串

来自分类Dev

熊猫:替换字符串中的子字符串

来自分类Dev

Pandas 中的向量化操作 - Python

来自分类Dev

向量化使用子字符串函数对不同长度的数据帧进行行选择

来自分类Dev

将字符串转换为大熊猫中的日期时间

来自分类Dev

在熊猫中,如何将字符串转换为以毫秒为单位的日期时间对象?

来自分类Dev

Python timedelta用熊猫中的字符串替换0时间

来自分类Dev

在熊猫数据框中修剪字符串(日期,时间)