回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p><strong>更新:</strong>我真的试过让我的示例代表参加,结果却没有。我更新了这个问题,因为精神是一样的,只是有点复杂</p>
<hr/>
<p>我正在使用一个大熊猫数据集,我想从中提取数据进行绘图。这个小例子应该说明这一点:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
df = pd.DataFrame({'Name': pd.Categorical(['Carl', 'Carl', 'Carl', 'Tina', 'Tina', 'Tina',
'Carl', 'Carl', 'Tina', 'Tina', 'Carl', 'Carl'] * 2),
'DayOfYear': [51, 20, 20, 1, 70, 140, 77, 190, 210, 365, 260, 333] * 2,
'Type': pd.Categorical(['Weight'] * 12 + ['Height'] * 12),
'Number': [60.3, 61.0, 59.8, 77.1, 74.0, 73.4, 58.2, 60.6, 73.6, 75.0, 59.7, 60.5,
172.3, 172.3, 172.3, 165.9, 165.9, 165.9,
172.3, 172.3, 165.9, 165.9, 172.3, 172.3],
})
</code></pre>
<p>我从分组开始,但改为透视表,因为工作流似乎更简单,应该是一样的,对吗?我尝试了很多东西,到目前为止,这让我离目标最近:</p>
<pre class="lang-py prettyprint-override"><code>p = pd.pivot_table(df, index=['Name', 'DayOfYear'], values='Number', columns='Type')
</code></pre>
<p><a href="https://i.stack.imgur.com/RKxHR.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/RKxHR.png" alt="the outcome of pivoting"/></a></p>
<p>对于打印,其余部分将转换为:</p>
<pre class="lang-py prettyprint-override"><code>what_bqplot_needs_x = [
[20, 51, 77, 190, 260, 333],
[1, 70, 140, 210, 365],
[20, 51, 77, 190, 260, 333],
[1, 70, 140, 210, 365],
]
what_bqplot_needs_y = [
[60.4, 60.3, 58.2, 60.6, 59.7, 60.5],
[77.1, 74.0, 73.4, 73.6, 75.0],
[172.3] * 6,
[165.9] * 5,
]
</code></pre>
<p>我似乎不太理解/与熊猫相处,我真的很想了解如何通过按摩来达到目的</p>
<p>它不必是列表的列表,<code>ndarray</code>数组也可以</p>
<hr/>
<p>我尝试调整<a href="https://stackoverflow.com/a/63030985/581002">jezrael’s answer</a>,但第一个<code>.reset_index(level=1)</code>已经崩溃:</p>
<pre><code>TypeError: cannot insert an item into a CategoricalIndex that is not already an existing category
</code></pre>