gpt4 book ai didi

python - Pandas 数据帧 : Grouping columns having the same first characters

转载 作者:行者123 更新时间:2023-12-02 11:34:02 25 4
gpt4 key购买 nike

我有一个如下所示的数据框

                            LIT__0001   LIT__002    AAA__0001   AAA__0002   XYZ
2019-10-31 13:40:00-04:00 NaN 0.014786 10 55 1
2019-10-31 13:45:00-04:00 NaN 0.012143 33 11 2
2019-10-31 13:50:00-04:00 NaN NaN NaN NaN 3
2019-10-31 13:55:00-04:00 NaN 0.020000 14 13 4
2019-10-31 14:00:00-04:00 0.010000 NaN 14 NaN 5

我需要将其转换为如下所示的数据框

                            LIT         AAA         XYZ
2019-10-31 13:40:00-04:00 0.014786 10 1
2019-10-31 13:45:00-04:00 0.012143 11 2
2019-10-31 13:50:00-04:00 NaN NaN 3
2019-10-31 13:55:00-04:00 0.020000 13 4
2019-10-31 14:00:00-04:00 0.010000 14 5

也就是说,对于“__”之前具有共同第一个字符的每一列,取每行的最小值。

我的数据框确实很大,所以我希望有更快的解决方案。

最佳答案

使用GroupBy.min按具有 axis=1 的列和用于拆分的 lambda 函数:

df = df.groupby(lambda x: x.split('__')[0], axis=1, sort=False).min()

或者使用str.split :

df = df.groupby(df.columns.str.split('__').str[0], axis=1, sort=False).min()
print (df)
LIT AAA XYZ
2019-10-31 13:40:00-04:00 0.014786 10.0 1.0
2019-10-31 13:45:00-04:00 0.012143 11.0 2.0
2019-10-31 13:50:00-04:00 NaN NaN 3.0
2019-10-31 13:55:00-04:00 0.020000 13.0 4.0
2019-10-31 14:00:00-04:00 0.010000 14.0 5.0

关于python - Pandas 数据帧 : Grouping columns having the same first characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58856346/

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