gpt4 book ai didi

python - 根据数据透视表值替换数据框中的值

转载 作者:行者123 更新时间:2023-12-04 15:12:33 25 4
gpt4 key购买 nike

我想根据数据透视表中给定的值替换数据框“年龄列”中的 nan 值,

“0为女性,1为男性”

Example of df

Pclass Gender Age
3 1 22
1 0 38
2 1 27
3 0 NaN

Pivot table
Age
Gender 0 1
PClass
1 40 35
2 30 28
3 25 21

例如,如果错过了这个人的年龄,并且他/她是 Pclass 3 和 Gender 0,那么他的年龄是 25。

我有大约 100 行需要更新,那么有什么快速的方法吗?

最佳答案

我会将数据透视表转换为常规 df

pdf = pivot_table.stack().reset_index()

然后合并 nan dfcombine_first

nan_df = df.loc[df['Age'].isna(), ['Pclass', 'Gender']].merge(pdf, how='left')
df.set_index(['Pclass', 'Gender']).combine_first(nan_df.set_index(['Pclass', 'Gender'])).reset_index()
   Pclass  Gender   Age
0 1 0 38.0
1 2 1 27.0
2 3 0 25.0
3 3 1 22.0

关于python - 根据数据透视表值替换数据框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64950734/

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