pandas - 在 Python(熊猫)中重构数据框
问题描述
这是原始数据的格式:
data_01 = {'State': ['New York', 'California'],
'May_01_A': [1, 2],
'May_01_B': [3, 4],
'May_02_A': [5, 6],
'May_02_B': [7, 8],}
df_01 = pd.DataFrame(data_01)
我想像这样重组它:
data_02 = {'Date': ['May_01', 'May_01', 'May_02', 'May_02'],
'State': ['New York', 'California', 'New York', 'California'],
'Obs_A': [1, 2, 3, 4],
'Obs_B': [5, 6, 7, 8],}
df_02 = pd.DataFrame(data_02)
任何的建议都受欢迎。谢谢!
解决方案
让我们做wide_to_long
s=pd.wide_to_long(df_01,['May_01','May_02'],i='State',j='Date',suffix='\\w+',sep='_').unstack(1).stack(0).reset_index()
Date State level_1 A B
0 New York May_01 1 3
1 New York May_02 5 7
2 California May_01 2 4
3 California May_02 6 8
推荐阅读
- multithreading - 同步两个发送者和接收者线程
- javascript - auth0 无法读取未定义的属性选项
- javascript - 添加新脚本时无法重新初始化 DataTable
- html - 为什么我在 div 中使用缩放/缩放 css 后,即使 div 被缩放,height/width 属性仍然保持原始状态?
- javascript - 如何在 HTMLCollection 或 Element 上使 Javascript calss/constructor 可调用
- go - 无限的 goroutines,直到收到所需的响应
- c# - 如果 InnerText 包含空格,则按 InnerText 选择节点将不起作用
- reactjs - 从现有的原生安卓应用打开 React-Native 时显示白屏
- sql - 索引是否用于嵌套选择中的“外部”和“内部”where 子句?
- php - 如何访问 Laravel 5.1 验证规则