【问题标题】:Splitting a Pandas DataFrame column into two columns将 Pandas DataFrame 列拆分为两列
【发布时间】:2016-12-16 07:53:23
【问题描述】:

我正在做一个简单的网络抓取,DataFrame 项目。我有一个简单的 8x1 DataFrame,我正在尝试将其拆分为一个 8x2 DataFrame。到目前为止,这就是我的 DataFrame 的样子:

dframe = DataFrame(data, columns=['Active NPGL Teams'], index=[1, 2, 3, 4, 5, 6, 7, 8])
    Active NPGL Teams
1   Baltimore Anthem (2015–present)
2   Boston Iron (2014–present)
3   DC Brawlers (2014–present)
4   Los Angeles Reign (2014–present)
5   Miami Surge (2014–present)
6   New York Rhinos (2014–present)
7   Phoenix Rise (2014–present)
8   San Francisco Fire (2014–present)

我想添加一列“活跃年数”,并将“(2014 年至今)”、“(2015 年至今)”拆分为“活跃年数”列。如何拆分我的数据?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    你可以使用

    dframe['Active NPGL Teams'].str.split(r' (?=\()', expand=True)
    
                        0               1
    1    Baltimore Anthem  (2015–present)
    2         Boston Iron  (2014–present)
    3         DC Brawlers  (2014–present)
    4   Los Angeles Reign  (2014–present)
    5         Miami Surge  (2014–present)
    6     New York Rhinos  (2014–present)
    7        Phoenix Rise  (2014–present)
    8  San Francisco Fire  (2014–present)
    

    关键是正则表达式r' (?=\()',它仅在空格后跟一个左括号(前瞻断言)时才匹配。


    另一种方法(慢约 5% 但更灵活)是用户 Series.str.extract

    dframe['Active NPGL Teams'].str.extract(r'^(?P<Team>.+) (?P<YearsActive>\(.+\))$',
                                            expand=True)
    
                     Team     YearsActive
    1    Baltimore Anthem  (2015–present)
    2         Boston Iron  (2014–present)
    3         DC Brawlers  (2014–present)
    4   Los Angeles Reign  (2014–present)
    5         Miami Surge  (2014–present)
    6     New York Rhinos  (2014–present)
    7        Phoenix Rise  (2014–present)
    8  San Francisco Fire  (2014–present)
    

    【讨论】:

    • 喜欢这个!奇妙! :) 还不知道这个pandas 功能。
    • 谢谢,成功了!我永远不会想到这一点。
    猜你喜欢
    • 1970-01-01
    • 2019-05-18
    • 2016-11-17
    • 1970-01-01
    • 2018-05-28
    • 2019-04-05
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多