For Loop - TypeError:必须是str,而不是int [duplicate]

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

这个问题在这里已有答案:

我试图创建一个for循环有点困惑。

我有一个带有一些推文信息的数据框,我需要2个列用于循环:tweet_idexpanded_urls。我的数据框中有一些情况,expand_urls不完整,它们只是'twitter.com/xxx/status/'。但正确的链接有状态后的推文ID,如:twitter.com/xxx/status/1234567890

所以,我试过这个:

for i in line:
    twitter_archive_master['expanded_urls'] = np.where(twitter_archive_master['expanded_urls'] == 'https://twitter.com/xxx/status/', ('https://twitter.com/xxx/status/'+ twitter_archive_master.tweet_id), twitter_archive_master['expanded_urls'])

所以我用这个不完整的URL选择每一行,并尝试添加他们的ID,但我收到此错误:

TypeError: must be str, not int

我究竟做错了什么?

两列都是对象。

python pandas numpy for-loop replace
1个回答
1
投票

尝试将id转换为字符串类型

for i in line:
    twitter_archive_master['expanded_urls'] = np.where(twitter_archive_master['expanded_urls'] == 
                                                       https://twitter.com/xxx/status/',
                                                       ('https://twitter.com/xxx/status/'
                                                        +
                                                        str(twitter_archive_master.tweet_id)),
                                                       twitter_archive_master['expanded_urls'])
© www.soinside.com 2019 - 2024. All rights reserved.