回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>假设我有关于市长和面包师姓名的城市的数据(如果有):</p>
<pre><code> city name_mayor age_mayor name_baker age_baker
0 Cherbourg Robert 10 Jack 40
1 Calais Michel 20 Russel 50
2 Nevers Guy 30 None None
</code></pre>
<p>然后,我想创建一个新的数据框架来处理个人,因此我想要这样一个数据框架:</p>
<pre><code> city name age
0 Cherbourg Robert 10
1 Calais Michel 20
2 Nevers Guy 30
3 Cherbourg Jack 40
4 Calais Russel 50
</code></pre>
<p>那么,计算平均年龄之类的东西就更容易了</p>
<p>谁能告诉我:</p>
<ol>
<li>我怎样才能做到</李>
<li>我应该和熊猫一起工作吗</李>
</ol>
<p>基本上,我可以通过行上的迭代来完成,但我了解到,使用其他方式处理pandas通常更好(如这里所述:<a href="https://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas">How to iterate over rows in a DataFrame in Pandas</a>)</p>
<p>我对熊猫并不陌生,但仍然停留在一种“numpy数组”的思维方式中</p>
<p>如果需要,这里是我如何制作我的两个示例:</p>
<pre><code>data_1 = { "city" : ["Cherbourg", "Calais", "Nevers"], "name_mayor" : ["Robert", "Michel", "Guy"], "age_mayor" : [10,20,30], "name_baker" : ["Jack", "Russel"], "age_baker" : [40,50]}
df_1 = pd.DataFrame.from_dict(data_1, orient='index').transpose()
</code></pre>
<pre><code>data_2 = {0:["Cherbourg", "Robert", 10], 1:["Calais", "Michel", 20], 2:["Nevers", "Guy", 30], 3:["Cherbourg", "Jack", 40], 4:["Calais", "Russel", 50] }
df_2 = pd.DataFrame.from_dict(data_2, orient='index', columns=["city", "name", "age"])
</code></pre>
<p>谢谢!
R</p>