如何解决我想基于上一列添加一个新的DataFrame列,以便如果上一列元素与列表值匹配,请更改该值
输入df
Index col1
0 Img
1 Fruit
2 Img
3 Ball
4 Ball
5 Fruit
6 shirt
7 Fruit
映射列表以输入df
list1 = ['Img_A_10','Fruit_A_100','Ball_B_120']
输出df
col1 col22
0 Img Img_A_10
1 Fruit Fruit_A_100
2 Img Img_A_10
3 Ball Ball_B_120
4 Ball Ball_B_120
5 Fruit Fruit_A_100
6 shirt shirt
7 Fruit Fruit_A_100
解决方法
尝试一下
git log --pretty=format:"%s" master..HEAD
或
git log --pretty=format:"- %s" master..HEAD
df['col2'] = df.col1.map({k.split("_")[0]: k for k in list1}).fillna(df.col1)
,
以防万一拆分不匹配(例如:ravel
),可以先A_Fruit_100
然后extract
replace
s = pd.Series(list1)
d = dict(zip(s.str.extract('('+'|'.join(df['col1'])+')',expand=False),s))
df['col22'] = df['col1'].replace(d)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。