gpt4 book ai didi

python - 在 Pandas 中组合奇数和偶数索引行

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:31 26 4
gpt4 key购买 nike

我有一个这样的数据框df

   Name     Net        Quantity  
0 Auto 1010 10
1 NaN NaN 12
2 Rtal 4145 18
3 NaN NaN 14
4 Indl 6223 16
5 NaN 7222 18

我的输出数据框应该是这样的,

       Name     Net         Quantity  
0 Auto 1010 10,12
1 Rtal 4145 18,14
2 Indl 6223,7222 16,18

正如您从上面的数据框中看到的那样,如果奇数(索引)中存在任何值,我想将值与偶数行(索引)组合起来,以便我可以获得输出。

我尝试了以下方法来提取奇数值,

df.iloc[1::2, :]

这给了我以下内容,

    Name    Net   Quantity
1 NaN NaN 12
3 NaN NaN 14
5 NaN 7222.0 18

在此之后,我现在不知道如何将这些值添加到我的 df 的偶数索引中。除此之外,我不确定我的方法是否正确。如果有人可以提供建议/帮助,我将不胜感激。

最佳答案

如果您不介意“Net”中的 float ,您可以使用groupbyagg:

df.groupby(df.index // 2).agg(lambda x: x.dropna().astype(str).str.cat(sep=','))

Name Net Quantity
0 Auto 1010.0 10,12
1 Rtal 4145.0 18,14
2 Indl 6223.0,7222.0 16,18

要处理 float ,解决方案变得稍微复杂一些;您可以使用 ffill 并在可能的情况下尝试向下转换。

df.groupby(df.index // 2).agg(
lambda x: ','.join(x.ffill(downcast='infer').astype(str).unique()))

Name Net Quantity
0 Auto 1010 10,12
1 Rtal 4145 18,14
2 Indl 6223,7222 16,18

关于python - 在 Pandas 中组合奇数和偶数索引行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498373/

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