python - 如何将第一列的值分成另外两列

总计 男 女性 24 南 南 45 21 24 36 南 南 50 南 南 表>

这是我的数据框,在 Pandas 中有 3 列。 “男性”和“女性”列包含空值。

那么,有什么方法可以将“总计”的每个值划分并分别输入“男性”和“女性”行吗?

我想要的输出是这样的:

总计 男 女性 24 12 12 45 21 24 36 18 18 50 25 25 表>

最佳答案

这是df.mask的一个很好的例子:

v = df['Total'].div(2)
df[['Male','Female']] = df[['Male','Female']].mask(df.isna(),v,axis=0)
#or for new df: out = df.assign(**df[['Male','Female']].mask(df.isna(),v,axis=0))

   Total Male Female
0     24   12     12
1     45   21     24
2     36   18     18
3     50   25     25

https://stackoverflow.com/questions/69065955/

相关文章:

ruby-on-rails - Rubocop 在 Rails 中的蓝图序列化程序自定义字段中警告

python - 您如何为加权平均平均值迭代地为数据框列赋予权重?

r - 如果字符串包含 x 在 R 中做 y

rust - 为什么可以在 String 上调用 Colorize trait 方法,而 Strin

reactjs - 如何防止我内存的 React 组件在 React DevTools 中显示为 "

go - 在 golang 中将 []*string 转换为 []string

swiftui - PresentationMode 触发器 "Variable X used be

javascript - JS : proper way of using optional cha

node.js - 如何在 nodejs 中使用 getRandomValues()?

javascript - $(this) 在我的 jQuery 点击函数中不起作用