回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个字典,我想把它变成一个数据帧,然后把数据帧中的一些列合并成一列。你知道吗</p>
<p>我的字典是这样的:</p>
<pre><code>mydict = {'Participants': {'source': ['1', '2', '3'],
'name': ['A', 'B', 'C'],
'Entry (1)': ['Address1', 'Address2', 'Address3'],
'Entry (2)': ['Number1', 'Number2', 'Number2'],
'Entry (3)': ['Start1', 'Start2', 'Start3']},
'Countries': {'DK': ['1', '2', '3'],
'UK': ['1', '3', '2'],
'CDN': ['3', '2', '1'],
'FR': ['1', '2', '3']}}
</code></pre>
<p>生成的数据帧如下所示:
<code>df = pd.DataFrame(mydict)</code></p>
<p>测向:</p>
<pre><code> Countries Participants
CDN [3, 2, 1] NaN
DK [1, 2, 3] NaN
Entry (1) NaN [Address1, Address2, Address3]
Entry (2) NaN [Number1, Number2, Number2]
Entry (3) NaN [Start1, Start2, Start3]
FR [1, 2, 3] NaN
UK [1, 3, 2] NaN
name NaN [A, B, C]
source NaN [1, 2, 3]
</code></pre>
<p>我有多个“Entry(n)”列,其中包含每个参与者的“Address,Number和Start”信息(<code>df['Participants']['name']</code>)。
我现在需要的是一个额外的列“Entries”,它为每一行组合了<code>Entry (1)</code>、<code>Entry (2)</code>和<code>Entry(3)</code>的信息。由于条目数(<code>Entry (n)</code>)因数据源而异,我需要得到如下条目数:</p>
<p><code>entries = re.findall(r'Entry \(\d\)', str(mydict['Participants'].keys()))</code></p>
<p>剩下的是所有条目的列表:<code>['Entry (1)', 'Entry (2)', 'Entry (3)']</code>。你知道吗</p>
<p>我希望在结尾有这样一个数据帧:</p>
<pre><code> Countries Participants
CDN [3, 2, 1] NaN
DK [1, 2, 3] NaN
Entry (1) NaN [Address1, Address2, Address3]
Entry (2) NaN [Number1, Number2, Number2]
Entry (3) NaN [Start1, Start2, Start3]
Entries Nan ['Address1\nNumber1\Start1', 'Address2\nNumber2\Start2', 'Address3\nNumber3\nStart3'] <<-- I need this
FR [1, 2, 3] NaN
UK [1, 3, 2] NaN
name NaN [A, B, C]
source NaN [1, 2, 3]
</code></pre>
<p>有谁能告诉我一个具体的方法来实现这一点吗?你知道吗</p>