gpt4 book ai didi

python - Python 中的 groupby 会生成列或数据框吗?

转载 作者:行者123 更新时间:2023-11-30 23:05:12 24 4
gpt4 key购买 nike

假设我有一个数据框

age Late
1 1
2 5
3 48
4 46
5 6

...

我想将 Late 中所有 46 或 48 的值替换为 Late 的中位数。我相信命令是

trainDF.groupby('Late').transform(getmedian)

但是,结果是整个数据帧trainDF吗?或者只是Late 列?

也就是说,下面的内容有意义吗?

trainDF=trainDF.groupby('Late').transform(getmedian)

或者下面的内容有意义吗?

newLate = trainDF.groupby('Late').transform(getmedian)

我试过了

newLate = trainDF.groupby('Late').transform(getmedian)
newLate.max()

打印出未命名:0

trainDF['newLate'].max()

打印出KeyError: 'newLate'

如果我尝试

trainDF=trainDF.groupby('Late').transform(getmedian)

并打印出来

trainDF['Late'].max()

上面写着KeyError: 'Late'

我应该如何存储替换 Late 中的 46 和 48 值的新数据帧?我问这个问题是因为我最终想通过打印出修改后的 Late 列的最大值来确保它有效,并确保它显示 6(或任何小于 46 的数字),而不是 48

最佳答案

您在这里问了很多问题,但我将解决似乎是主要问题:

I want to replace all values in Late that are 46 or 48 with the median of Late.

你可以这样做:

>>> df = pd.DataFrame({'age': [1,2,3,4,5],
'Late': [1,5,48,46,6]})
>>> df.loc[df['Late'].isin([46, 48]), 'Late'] = df['Late'].median()
>>> df
Late age
0 1 1
1 5 2
2 6 3
3 6 4
4 6 5

关于python - Python 中的 groupby 会生成列或数据框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291232/

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