我想使用 zip columns 技巧来加速 Pandas DataFrame 中的行循环,如下所示:
import pandas as pd
df = pd.DataFrame({"a": [0,1], "b": [2,3]})
for a, b in zip(df["a"], df["b"]):
pass
数据框的列数是可变的。如何将行元组解压为 a、b、c 等?
这是可能的方法之一,您可以从 DataFrame 创建一个系列列表,如下所示:
columns = [df[col] for col in df]
然后您可以解压此列表并在循环中使用它。
for item in zip(*columns):
print(item)
输出将是这样的:
(0, 2)
(1, 3)
其中包含每行作为一个元组。