gpt4 book ai didi

python - Pandas Groupby 回到 DataFrame

转载 作者:太空宇宙 更新时间:2023-11-04 03:12:48 32 4
gpt4 key购买 nike

我有一个数据框:

df = pd.DataFrame({'Section': [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6],
'Unit': np.arange(0,15)/100.0,
'Entries': [11, 22, 23, 1, 4, 8,
99, 112, 235, 22, 126,
442, 45, 56, 10],
'Exits': np.random.randint(0,100,15)},
columns = ['Section', 'Unit', 'Entries', 'Exits'])

我想将每个部分的条目数据更改为值之间的差异。

例如,第 1 部分的条目是 11、22、23。我希望它们是 0、11、1(每个值之间的差异)。

我可以做 df.groupby('Section').Entries.apply(diff) 但这摆脱了起始值并给我留下了一个我不知道如何做的系列回到数据框。

如何做到这一点?

最佳答案

这是你想要的吗?

In [93]: df['diff'] = df.groupby('Section')['Entries'].diff().fillna(0)

In [94]: df
Out[94]:
Section Unit Entries Exits diff
0 1 0.00 11 97 0.0
1 1 0.01 22 89 11.0
2 1 0.02 23 98 1.0
3 2 0.03 1 39 0.0
4 2 0.04 4 42 3.0
5 2 0.05 8 35 4.0
6 3 0.06 99 59 0.0
7 3 0.07 112 16 13.0
8 3 0.08 235 1 123.0
9 4 0.09 22 73 0.0
10 4 0.10 126 97 104.0
11 4 0.11 442 56 316.0
12 5 0.12 45 78 0.0
13 5 0.13 56 42 11.0
14 6 0.14 10 30 0.0

关于python - Pandas Groupby 回到 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37469792/

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