gpt4 book ai didi

Python pandas 迭代数据框

转载 作者:行者123 更新时间:2023-12-01 04:36:45 26 4
gpt4 key购买 nike

我正在尝试使用 Pandas,我需要解决以下问题。

我有一个数据集,其中的列如下所示:

X1 Y1 Z1 1.....(bunch of other columns)
X1 Y1 Z1 2.....(bunch of other columns)
X1 Y1 Z1 3.....(bunch of other columns)
X2 Y2 Z2 1.....(bunch of other columns)
X2 Y2 Z2 2.....(bunch of other columns)
X2 Y2 Z2 3.....(bunch of other columns)
X2 Y2 Z2 4.....(bunch of other columns)

我需要通过将前三列作为键来处理数据集。因此,我需要首先考虑与 X1 Y1 Z1 关联的所有行,处理其中的一堆列,然后继续处理下一个 block X2 Y2 Z2。所以首先是它的

X1 Y1 Z1 1.....(bunch of other columns)
X1 Y1 Z1 2.....(bunch of other columns)
X1 Y1 Z1 3.....(bunch of other columns)

后跟

X2 Y2 Z2 1.....(bunch of other columns)
X2 Y2 Z2 2.....(bunch of other columns)
X2 Y2 Z2 3.....(bunch of other columns)
X2 Y2 Z2 4.....(bunch of other columns)

我正在寻找 pandas 或 numpy 中的解决方案来处理此数据集。而且我处理数百万行,因此 pandas 的 iterrows() 会很慢。

最佳答案

如果您的数据加载到 DataFrame df 中,其中包含 XYZcol1, col2....,那么您可以循环数据的“组”/“ block ”,如下所示:

for concat_XYZ, df_group in df.groupby(df['X']+df['Y']+df['Z']):
# process df_group
# ....

每个df_group都是一个 block (或者本身就是一个DataFrame),正如您在问题中所希望的那样。 XYZ 列中字符串的串联用于唯一标识一个组。

关于Python pandas 迭代数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com