我更习惯于使用for循环,但一旦获得大数据集,它们在pandas中的速度可能会变慢。我一直在寻找iterrows、iter……等例子,但我想知道是否有更快的方法。我现在拥有的是
newnames = []
names = df['name'].tolist()
for i in names:
i = i.replace(' ','_')
newnames.append(i)
然后我可以将newnames列表作为pandas列添加到df中,或者我应该重写现有的df['name']值吗?不太熟悉熊猫的最佳实践,因此我欢迎所有反馈。谢谢
如果您最终想要将新名称添加到
df
,您可以通过以下方式直接添加:如果只想将
name
列更改为用_
替换所有空格,也可以直接在原始列上执行此操作(覆盖它),如下所示:在这两种方式中,我们都是使用Pandas的矢量化操作来完成的,该操作已针对更快的执行进行了优化,而不是使用尚未优化且速度较慢的循环
只需使用矢量化字符串操作:
通常,对于熊猫,如果可能的话,你希望避免做循环。如果您在库中查找,通常有一些方法可以绕过循环,因此有一些关于Pandas的语法研究(除非您正在查找的是非常不标准的)
基本上,如果你想做的事情表面上需要一个for循环,那么做可能是人们经常想做的事情,它可能在图书馆里
相关问题 更多 >
编程相关推荐