用Python pandas将一个带有逗号值的字符串变成多层索引的各个行。

问题描述 投票:0回答:1

我有一个Pandas数据框架,目前看起来像这样。

df = pd.DataFrame({'Film' : ['James Bond: Spectre', 'Avengers: Endgame'],
        'Year' : [2015, 2019],
        'Director(s)': ['Sam Mendes', 'Anthony Russo, Joe Russo'],
        'Actor(s)': ["Daniel Craig, Cristoph Waltz", "Robert Downey Jr., Chris Evans, Scarlett Johannson"]})

         Film          | Year |     Director(s)    |        Actor(s)
 ----------------------|------|--------------------|-----------------------
 James Bond: Spectre   | 2015 |     Sam Mendes     |     Daniel Craig,
                       |      |                    |   Christoph Waltz
 ----------------------|------|--------------------|-----------------------
  Avengers: Endgame    | 2019 | Anthony Russo, Joe |   Robert Downey Jr.,   
                       |      |        Russo       | Chris Evans, Scarlett
                       |      |                    |       Johansson

我想通过每个字符串中的逗号将actor列和导演列分割开来,使它们成为多层列,每个新条目都占据一个单独的单元格,如下图所示。

         Film          | Year |     Director(s)   |        Actor(s)
 ----------------------|------|-------------------|----------------------
 James Bond: Spectre   | 2015 |     Sam Mendes    |     Daniel Craig
                       |      |                   |----------------------
                       |      |                   |    Christoph Waltz
 ----------------------|------|-------------------|----------------------
  Avengers: Endgame    | 2019 |   Anthony Russo   |   Robert Downey Jr.
                       |      |                   |----------------------  
                       |      |-------------------|      Chris Evans
                       |      |     Joe Russo     |----------------------
                       |      |                   |  Scarlett Johansson

我的优先级是导演列和演员列分别包含每个值,但两列的多层索引没有联系--Anthony Russo和Robert Downey Jr.除了与同一部电影有联系外,没有内在联系。

我对Python和Pandas相当陌生,所以我明白这可能不是多索引的工作方式。如果有更有效的组织数据的方法,我会很高兴听到它!

python pandas csv indexing multi-index
1个回答
0
投票

我想Pandas的explode()函数可能会解决你所需要的问题。请看这里的一个例子 https:/cmdlinetips.com201907pandas-0-25-0-is-here-what-new-name-aggregation-explod-and-sparse-dataframe。

© www.soinside.com 2019 - 2024. All rights reserved.