首页 > 解决方案 > 如何从熊猫中提取特定的字符串?

问题描述

这是我的数据框df:

    Repository
0   ParaskP7/android-dev-sources
1   uholeschak/ediabaslib
2   t3hk0d3/ruby_faceapp
3   prateekbh/hopon
4   c0i/cocos2d-x-v2
5   risk1996/ctg-cheat
6   GiacomoPignoni/undercover_discord_bot
7   vyasishanatc194/Crowdbotics-React-Native-Test

我需要在“/”之后提取刺痛,例如我需要提取“android-dev-sources”的第一行

import pandas as pd
df = pd.read_csv('result_refactorings.csv', sep=';')
refactoring_details = df['repository']
a=repo_Name.to_frame(name=refactoring_details)
a.repository.str.extract(r'')

问题在于提取功能,我无法定义我的模式

请提供任何帮助。谢谢!

标签: pythonpandasdataframe

解决方案


方法一:str.split

df['Repository'].str.split(r'/').str[1]

0              android-dev-sources
1                       ediabaslib
2                     ruby_faceapp
3                            hopon
4                     cocos2d-x-v2
5                        ctg-cheat
6           undercover_discord_bot
7    Crowdbotics-React-Native-Test
Name: Repository, dtype: object

方法二:str.extract

使用正则表达式:

df['Repository'].str.extract('\/(.*)')

                               0
0            android-dev-sources
1                     ediabaslib
2                   ruby_faceapp
3                          hopon
4                   cocos2d-x-v2
5                      ctg-cheat
6         undercover_discord_bot
7  Crowdbotics-React-Native-Test

推荐阅读