对于循环-TypeError:必须为str,而不是int

时间:2018-11-20 20:12:38

标签: python pandas numpy for-loop replace

尝试创建一个for循环时,我有些困惑。

我有一个带有一些Tweets信息的数据框,为此for循环需要两列:tweet_idexpanded_urls。 我的数据框中有些情况是expand_urls不完整,它们只是'twitter.com/xxx/status/'。但是正确的链接在状态后具有tweet 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

我在做什么错了?

这两列都是对象。

1 个答案:

答案 0 :(得分: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'])