如何分割数据?

时间:2020-08-01 16:54:45

标签: python python-3.x pandas jupyter-notebook

我想从数据中拆分电影制作公司名称。需要提取公司名称。

df['production_companies'].head(20)

0     [{'name': 'Pixar Animation Studios', 'id': 3}]
1     [{'name': 'TriStar Pictures', 'id': 559}, {'na...
3     [{'name': 'Twentieth Century Fox Film Corporat...
4     [{'name': 'Sandollar Productions', 'id': 5842}...
5     [{'name': 'Regency Enterprises', 'id': 508}, {...
8     [{'name': 'Universal Pictures', 'id': 33}, {'n...
9     [{'name': 'United Artists', 'id': 60}, {'name'...
10    [{'name': 'Columbia Pictures', 'id': 5}, {'nam...
12    [{'name': 'Universal Pictures', 'id': 33}, {'n...
13    [{'name': 'Hollywood Pictures', 'id': 915}, {'...
14    [{'name': 'Le Studio Canal+', 'id': 183}, {'na...
15    [{'name': 'Universal Pictures', 'id': 33}, {'n...
16    [{'name': 'Columbia Pictures Corporation', 'id...
17    [{'name': 'Miramax Films', 'id': 14}, {'name':...
18    [{'name': 'O Entertainment', 'id': 5682}, {'na...
19             [{'name': 'Columbia Pictures', 'id': 5}]
20    [{'name': 'Jersey Films', 'id': 216}, {'name':...
22    [{'name': 'Silver Pictures', 'id': 1885}, {'na...
24    [{'name': 'United Artists', 'id': 60}, {'name'...
26              [{'name': 'New Line Cinema', 'id': 12}]
Name: production_companies, dtype: object

2 个答案:

答案 0 :(得分:1)

我们可以做explode

s = df['production_companies'].explode()
namedata = pd.DataFrame(s.tolist(),index=s.index)

答案 1 :(得分:1)

我们可以explode(),然后从字典中获得单独的名称,然后将索引重新设置为就地

df['name']=df['production_companies'].explode().apply(lambda x:x['name']).reset_index(drop=True)