<p>我认为有<code>list</code>和<code>dicts</code>,所以建议使用列表理解和select first dictionary of list和select by <code>key</code>:</p>
<pre><code>df['r'] = [x[0]['rank'] for x in df['ranks']]
df['u'] = [x[0]['url'] for x in df['ranks']]
print (df)
Keyword ranks search_type search_volume r \
0 kw1 [{'rank': 1, 'url': 'example.com'}] 1 500 1
1 kw1 [{'rank': 1, 'url': 'example.com'}] 2 500 1
2 kw2 [{'rank': 2, 'url': 'example.com'}] 1 1500 2
3 kw2 [{'rank': 2, 'url': 'example.com'}] 2 1500 2
4 kw3 [{'rank': 1, 'url': 'example.com'}] 1 60 1
5 kw3 [{'rank': 1, 'url': 'example.com'}] 2 60 1
u
0 example.com
1 example.com
2 example.com
3 example.com
4 example.com
5 example.com
</code></pre>
<p>或:</p>
<pre><code>df['r'] = [{'rank': x[0]['rank']} for x in df['ranks']]
df['u'] = [{'url': x[0]['url']} for x in df['ranks']]
print (df)
Keyword ranks search_type search_volume \
0 kw1 [{'rank': 1, 'url': 'example.com'}] 1 500
1 kw1 [{'rank': 1, 'url': 'example.com'}] 2 500
2 kw2 [{'rank': 2, 'url': 'example.com'}] 1 1500
3 kw2 [{'rank': 2, 'url': 'example.com'}] 2 1500
4 kw3 [{'rank': 1, 'url': 'example.com'}] 1 60
5 kw3 [{'rank': 1, 'url': 'example.com'}] 2 60
r u
0 {'rank': 1} {'url': 'example.com'}
1 {'rank': 1} {'url': 'example.com'}
2 {'rank': 2} {'url': 'example.com'}
3 {'rank': 2} {'url': 'example.com'}
4 {'rank': 1} {'url': 'example.com'}
5 {'rank': 1} {'url': 'example.com'}
</code></pre>