python - 如何将行旋转到熊猫中的列
问题描述
我有一个 csv 格式的表格,看起来像这样。我想旋转列。
UserId Date category part_of_day Frequency duration_max
1 2020-09-10 System tool evening 1 3.436
1 2020-09-11 Calendar afternoon 5 5.313
1 2020-09-11 Calendar night 3 2.760
1 2020-09-11 Clock night 2 0.418
1 2020-09-11 Communication afternoon 35 59.936
50 2020-08-15 Communication night 7 26.591
50 2020-08-15 Phone_and_SMS morning 7 17.359
50 2020-08-15 Productivity morning 4 45.751
50 2020-08-15 Productivity night 2 5.832
`
我希望最终结果像这样:
UserId date System tool Calendar Clock Communication Phone_and_SMS Productivity
1 2020-09-10 1 nan nan nan nan nan
1 2020-09-11 nan 5 2 35 nan nan
50 2020-08-15 nan nan nan nan 7 7
我试过这段代码:
df.pivot_table(df,values = 'Frequency',index=['UserId'], columns = 'category')
解决方案
df.pivot_table
与 一起使用aggfunc='first'
:
In [2383]: df.pivot_table(index=['UserId', 'Date'], columns='category', values='Frequency', aggfunc='first')
Out[2383]:
category Calendar Clock Communication Phone_and_SMS Productivity System tool
UserId Date
1 2020-09-10 NaN NaN NaN NaN NaN 1.0
2020-09-11 5.0 2.0 35.0 NaN NaN NaN
50 2020-08-15 NaN NaN 7.0 7.0 4.0 NaN
推荐阅读
- c# - 从我的方法中替换 IF 和 Else If 语句
- git - 使用 husky hook 强制推送到另一个远程分支
- c++ - 现代 CMake - 带有 set_property 或 target_compile_features 的 C++ 版本
- file - 电子自定义拖动图标
- haskell - 为什么 ghc (Haskell) 编译器找不到我导入的模块 Data.Vector?我收到错误:找不到模块“Data.Vector”
- excel - VBA | 导出到多页 PDF
- java - 根据元素的第一次出现对列表进行排序
- ffmpeg - 无法播放从 IPC360 相机下载的 .h264 视频
- python - 将保存 numpy 数组的 Python 字典保存到文件中
- r - 将列值循环到 API 调用中的问题