假设我有一个数据框:
我希望创建一个新的列,基于以下条件:如果URL包含特定的单词,例如'youtube',那么我想将该列的值设置为youtube。因此,我尝试了以下代码:
data
id URL
1 www.pandora.com
2 m.jcpenney.com
3 www.youtube.com
4 www.facebook.com
我希望创建一个新的列,基于以下条件:如果URL包含特定的单词,例如'youtube',那么我想将该列的值设置为youtube。因此,我尝试了以下代码:
data['test'] = 'other'
那么,一旦我们做到了这一点,我们就会得到:
data['test']
other
other
other
other
然后我尝试了这个方法,
data[data['URL'].str.contains("youtub") == True]['test'] = 'Youtube'
data[data['URL'].str.contains("face") == True]['test'] = 'Facebook'
虽然这段代码没有报错,但是测试列的值并没有改变。所有的列仍然只有其他的值。当我运行这个语句时,理想情况下第三行应该改变为“Youtube”,第四行应该改变为“Facebook”。但是它们并没有改变。有人能告诉我这里犯了什么错误吗?