gpt4 book ai didi

python - 在 Pandas 中添加缺失的行

转载 作者:行者123 更新时间:2023-12-04 02:59:07 27 4
gpt4 key购买 nike

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

user cat  val
u1 cat1 1
u1 cat2 2
u1 cat3 3
u2 cat1 5
u3 cat4 4

并希望像这样改造它。
user cat  val(avg)
u1 cat1 1
u1 cat2 2
u1 cat3 3
u1 cat4 4
u2 cat1 5
u2 cat2 2
u2 cat3 3
u2 cat4 4
u3 cat1 3
u3 cat2 2
u3 cat3 3
u3 cat4 4

cat 右侧还有几个数字列,希望可以用 NA 填充;或者如果可能的话取平均值。

最佳答案

解决这个问题的一种方法,

l1=df['user'].unique().tolist()
l2=df['cat'].unique().tolist()
new_df = pd.DataFrame(list(itertools.product(l1,l2))).rename(columns={0:'user',1:'cat'})
new_df=pd.merge(new_df,df,on=['user','cat'],how='left')

输出:
   user   cat  val
0 u1 cat1 1.0
1 u1 cat2 2.0
2 u1 cat3 3.0
3 u1 cat4 NaN
4 u2 cat1 5.0
5 u2 cat2 NaN
6 u2 cat3 NaN
7 u2 cat4 NaN
8 u3 cat1 NaN
9 u3 cat2 NaN
10 u3 cat3 NaN
11 u3 cat4 4.0

关于python - 在 Pandas 中添加缺失的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50947280/

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