gpt4 book ai didi

python - 如何在数据帧上执行 pd.get_dummies() 同时保持 NA 值到位而不是创建 NA 列?

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

我有一个包含一些缺失数据的数据集。我想在执行 pd.get_dummies() 时保持数据中的缺失.
这是一个示例数据集:

Table 1.

someCol
A
B
NA
C
D
我希望 pd.get_dummies(df, dummy_na=True))将数据转换成这样的东西:
Table 2.

someCol_A someCol_B someCol_NA someCol_C someCol_D
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
但是,我想要的是:
Table 3.

someCol_A someCol_B someCol_C someCol_D
1 0 0 0
0 1 0 0
NA NA NA NA
0 0 1 0
0 0 0 1
请注意,第 3 行的 NA 代替了从原始列中分离出来的所有行值。
我怎样才能达到表 3 的结果?

最佳答案

有点黑客,但你可以做这样的事情,你只得到非空行的虚拟值,然后通过重新索引生成的虚拟值,将缺失值重新插入到适当的位置原始数据帧的索引

pd.get_dummies(df.dropna()).reindex(df.index)

someCol_A someCol_B someCol_C someCol_D
0 1.0 0.0 0.0 0.0
1 0.0 1.0 0.0 0.0
2 NaN NaN NaN NaN
3 0.0 0.0 1.0 0.0
4 0.0 0.0 0.0 1.0

关于python - 如何在数据帧上执行 pd.get_dummies() 同时保持 NA 值到位而不是创建 NA 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67064941/

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