【发布时间】:2017-07-15 18:34:39
【问题描述】:
我创建了一个数据框 df,其中有一列具有以下值:
category
20150115_Holiday_HK_Misc
20150115_Holiday_SG_Misc
20140116_DE_ProductFocus
20140116_UK_ProductFocus
我想创建 3 个新列
category | A | B | C
20150115_Holiday_HK_Misc 20150115_Holiday_Misc HK Holiday_Misc
20150115_Holiday_SG_Misc 20150115_Holiday_Misc SG Holiday_Misc
20140116_DE_ProductFocus 20140116_ProductFocus DE ProductFocus
20140116_UK_ProductFocus 20140116_ProductFocus UK ProductFocus
在A列中,我想取出“_HK” - 我想我需要手动编码,但这很好,我有所有国家代码的列表
在 B 列中,就是国家/地区代码
C列,是A列,开头没有日期
我正在尝试这样的事情,但还没有走远。
df['B'] = np.where([df['category'].str.contains("HK")==True], 'HK', 'Not Specified')
谢谢
【问题讨论】:
-
我正在考虑一些字符串方法,例如
.split() -
除了你的字符串不是所有的结构都一样,所以它不能让你准确地到达你想要的位置。
标签: python string pandas match