【发布时间】:2021-09-10 18:45:58
【问题描述】:
我有一个很大的 DF。如下图所示的 sn-p。
SrNo | Merchant | Revenue | Currency
1 | UBER SR | 123 | INR
2 | UBER (SR)| 123 | INR
3 | SR UBER | 123 | INR
4 | ZOMATO SR| 123 | INR
5 | ZOMATOSR | 123 | INR
6 |12FLIPAKRT| 123 | INR
7 | FLIPKART | 123 | INR
我的输出应该是这样的:
SrNo | Merchant | Revenue | Currency |Merchant_Flag
1 | UBER SR | 123 | INR | UBER
2 | UBER (SR)| 123 | INR | UBER
3 | SR UBER | 123 | INR | UBER
4 | ZOMATO SR| 123 | INR | ZOMATO
5 | ZOMATOSR | 123 | INR | ZOMATO
6 |12FLIPAKRT| 123 | INR | FLIPKART
7 | FLIPKART | 123 | INR | FLIPKART
说明:我想在 Merchant 列中添加一个应具有值 wrt 的附加列,即如果 Merchant 列值中包含 UBER,则 Merchant_Flag 应为 UBER,对于其他 ZOMATO、FLIPKART 也是如此。
我的数据集很大。我尝试使用 re.search 然后 .replace 使用 if 和 else 来满足我的条件,这给了我性能问题。 我尝试过的另一个解决方案是使用 .loc
df.loc[df['columnname'].str.contains('')]。不知道如何进行。有人可以帮忙吗?
【问题讨论】:
-
您在使用什么
pyspark或pandas,您认为应该如何处理拼写错误?i.e 12FLIPAKRT不会被接走。
标签: python pandas pyspark string-matching .loc