gpt4 book ai didi

python - 填充数据框列Python中的缺失值

转载 作者:行者123 更新时间:2023-12-01 08:47:28 26 4
gpt4 key购买 nike

我的数据分为 4 列,如下所示:

State       Year        Month        Value
AK 2010 1 10
AK 2010 3 20
AK 2011 1 28
AK 2011 5 29
AK 2011 12 31
.
.
TX 2010 2 10
TX 2010 3 11
TX 2010 4 20
TX 2010 12 22
TX 2011 4 30
TX 2011 7 33
.
.

我想用同一年份的先前的重复项来填充缺失的月份,因为它们只是我的累积总和。已经加在一起了。

月份并不总是从第 1 个月开始,并且有时可能会缺少整年,因此我需要解决这个问题。

即:TX 可以在 2011 年的第 4 个月开始,等等...

所需的输出如下所示:

State       Year        Month        Value
AK 2010 1 10
AK 2010 2 10
AK 2010 3 20
AK 2010 4 20
AK 2010 5 20
.
.
AK 2010 12 20
AK 2011 1 28
AK 2011 2 28
.
.
TX 2010 1 9
TX 2010 2 10
TX 2010 3 11
TX 2010 4 20
TX 2010 5 20
.
.
TX 2010 12 22

最佳答案

一种解决方案是使用 Categorical Data :

# convert Month to categorical with 1-12 range
df['Month'] = pd.Categorical(df['Month'], categories=range(1, 13))

# groupby to give Cartesian product for categorical columns
df = df.groupby(['State', 'Year', 'Month']).first().reset_index()

# forward fill by group
df['Value'] = df.groupby('State')['Value'].ffill()

此解决方案假设特定州 2010 年 12 月的数据可能会溢出到 2011 年 1 月的空数据。

关于python - 填充数据框列Python中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53244687/

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