如何使用熊猫摆脱商店ID的第一个元素?

时间:2019-05-30 19:19:16

标签: python-3.x pandas dataframe

我的数据框由StoreId组成,需要针对特定​​类型的商店进行更改:

StoreType  StoreId
 A           105
 A           213
 B           401
 B           402
 B           711
 B           910
 B           913
 B           915

在此数据框中,仅对于storeType = B,如果要使用其他任何StoreID,则如果storeId以4开头(例如401应该更改为01,402应该更改为02),我想摆脱所有4。在storetype = B的情况下,没有这种逻辑,因此需要对其进行硬编码,例如711应该更改为I0、910到801、913到804、915到814。

如何在python中使用pandas数据框架编写高效的代码?

1 个答案:

答案 0 :(得分:1)

您可以在此处使用简单的正则表达式以及where来仅更改在其他系列中找到B的列。


u = df.StoreId.astype(str)
df.assign(StoreId=u.where(df.StoreType.ne('B'), u.str.replace('^4', '')))

  StoreType StoreId
0         A     105
1         A     213
2         B      01
3         B      02
4         B     711
5         B     910
6         B     913
7         B     915
相关问题