有没有办法用Pandas中的字符串值替换True/False?

2024-10-04 03:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

熊猫数据框如下所示:

     job_url

0    https://neuvoo.ca/view/?id=34134414434
1    https://zip.com/view/?id=35453453454
2    https://neuvoo.com/view/?id=2452444252

我想把所有的字符串都以'https://neuvoo.ca'进入'加拿大'

我的解决方案是使用str.startswith搜索,然后将True替换为“Canada”

csv_file['job_url'] = csv_file['job_url'].str.startswith('https://neuvoo.ca/')
csv_file['job_url']  = replace({'job_url': {np.True: 'Canada', np.False: 'USA'}})

但发现它不能用字符串代替布尔值


Tags: csv字符串httpscomviewidtrueurl
1条回答
网友
1楼 · 发布于 2024-10-04 03:20:53

让我们尝试使用^{}

import numpy as np
import pandas as pd

csv_file = pd.DataFrame({
    'job_url': ['https://neuvoo.ca/view/?id=34134414434',
                'https://zip.com/view/?id=35453453454',
                'https://neuvoo.com/view/?id=2452444252']
})


csv_file['job_url'] = np.where(
    csv_file['job_url'].str.startswith('https://neuvoo.ca/'),
    'Canada',
    'USA'
)
  job_url
0  Canada
1     USA
2     USA

^{}也可以工作,但与TrueFalsenp.True/np.False一起工作:

csv_file['job_url'] = (
    csv_file['job_url'].str.startswith('https://neuvoo.ca/')
        .replace({True: 'Canada', False: 'USA'})
)

相关问题 更多 >