【发布时间】:2021-10-10 18:34:13
【问题描述】:
以下所有内容似乎都适用于遍历熊猫系列的元素。我相信还有更多的方法可以做到这一点。有什么区别,哪种方法最好?
import pandas
arr = pandas.Series([1, 1, 1, 2, 2, 2, 3, 3])
# 1
for el in arr:
print(el)
# 2
for _, el in arr.iteritems():
print(el)
# 3
for el in arr.array:
print(el)
# 4
for el in arr.values:
print(el)
# 5
for i in range(len(arr)):
print(arr.iloc[i])
【问题讨论】:
-
为什么需要迭代?
-
why you shouldn't use
iterrows的许多论点可能也适用于系列。话虽如此,“最好的方式”是什么?表现?简明?惯用语? -
@fsimonjetz,比方说惯用语
-
如果迭代的目的只是为了打印,那么很难看出如何做真的很重要。您在上面显示的任何方法都可以。如果您正在做一些数值操作,那么我同意@tdy 的回答,即您应该转换为 numpy 数组并对其进行迭代。 FWIW,我也有另一个使用 numpy 循环的问题的答案,这同样适用于您的问题(如果它是数字的):stackoverflow.com/questions/7837722/…
-
为什么需要迭代?这几乎总是不必要的,有
.apply()、系列加法和乘法等。你没有展示为什么print()不是用例的例子。向我们展示一些用例。