在 Pandas 中将数据从长变为宽:综合指南
许多数据集最初以长格式存储,其中每一行代表一个单个观察值和多个变量列为列。然而,通常有必要将数据重塑为宽格式,其中每一行对应于两个或多个变量值的唯一组合。
问题:将数据从长格式转换为宽格式在 Pandas 中格式化可能是一项繁琐的任务,特别是在使用熔化/堆叠/取消堆叠方法时。例如,考虑以下长格式数据框:
<code class="python">import pandas as pd data = pd.DataFrame({ 'Salesman': ['Knut', 'Knut', 'Knut', 'Steve'], 'Height': [6, 6, 6, 5], 'product': ['bat', 'ball', 'wand', 'pen'], 'price': [5, 1, 3, 2] })</code>
重塑为宽格式:
要将数据重塑为宽格式,我们可以利用 Chris Albon 的解决方案:
创建长数据框:
<code class="python">raw_data = { 'patient': [1, 1, 1, 2, 2], 'obs': [1, 2, 3, 1, 2], 'treatment': [0, 1, 0, 1, 0], 'score': [6252, 24243, 2345, 2342, 23525] } df = pd.DataFrame(raw_data, columns=['patient', 'obs', 'treatment', 'score'])</code>
重塑为宽:
<code class="python">df.pivot(index='patient', columns='obs', values='score')</code>
这将生成所需的宽格式数据框:
<code class="python">obs 1 2 3 patient 1 6252.0 24243.0 2345.0 2 2342.0 23525.0 NaN</code>
以上是如何在 Pandas 中将数据从长格式重塑为宽格式:分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!