python - 熊猫每天新专栏
问题描述
我有这个数据框:
user day
A 1
A 4
B 2
B 4
我想将数据框更改为:
user day_1 day_2 day_3 day_4
A 1 0 0 1
B 0 1 0 1
所以即使day_3没有用户,它也会自动生成day_3
我已尝试使用此代码,但它不起作用
for index, row in grouped_user.iterrows():
grouped_user["day_" + str(int(row.active_period))] = 1
解决方案
您可以使用以下功能pivot_table()
:
df.assign(vals=1).\
pivot_table(index='user', columns='day', values='vals', fill_value=0).\
reindex(range(df['day'].min(), df['day'].max()+1), fill_value=0, axis=1).\
add_prefix('day_')
结果:
day day_1 day_2 day_3 day_4
user
A 1 0 0 1
B 0 1 0 1
推荐阅读
- kubernetes - 如何在 openshift OKD 上持久启动 mysql?
- java - 蓝牙连接不起作用 - 为什么会这样?
- r - rmarkdown::render() 不允许同时有多个用户?
- node.js - 如何在两个免费的测功机上运行我的 Node.js 网络服务器?
- node.js - 在firebase事务完成之前获得响应
- .htaccess - 使用查询字符串重定向到另一个域
- mongodb - 缺少的子文档变成具有未定义值的子文档,并且架构验证失败
- php - 如何在新闻源中显示关注者和登录用户的帖子?
- android - Android project cannot build with gradle after importing a module
- amazon-web-services - NAT 实例是否需要弹性 IP?