首页 > 解决方案 > 如何从数据框 col 中提取特定值并将它们放在另一列中?

问题描述

我有一个由一列字符串组成的数据框。我想从一列中提取地点、日期和比赛编号。

数据框:

- S.no.            FileName
- 0.     Albany17NOV19sectionalRace1.csv
- 1.     Albany22NOV19sectionalRace4.csv
- 2.     New York1NOV19sectionalRace7.csv
- 3.     Aquis Park Gold Coast27NOV19sectionalRace2.csv 

所需的数据框:

- S.no.   Place                     Date     Racenumber
- 0.     Albany                    17NOV19    Race1
- 1.     Albany                    22NOV19    Race4
- 2.     New York                  1NOV19     Race7
- 3.     Aquis park Gold Coast     27NOV19    Race2

标签: pythonpandasdataframedata-extraction

解决方案


拆分为;

  1. digit其次就是说Nondigit_digit17NOV19

或者

  1. sectional

或者

3 特殊字符.

拆分后删除所有具有 None 作为值的行和任何其他不需要的行。如果需要,可以重命名列

    df=df.FileName.str.split('(\d+\D+\d+)|(sectional)|(\.)', expand=True).dropna(1).drop(columns=[4,6,11,12])
print(df)
        

          

                    0        1      8
0                 Albany  17NOV19  Race1
1                 Albany  22NOV19  Race4
2               New York   1NOV19  Race7
3  Aquis Park Gold Coast  27NOV19  Race2

推荐阅读