如果我有列数据,例如 100 个属于两种格式的条目;在列名称 URL 下:
http//mysportswebsite.com/shop/?Baseball+Bat=5
http//memoribilia.com/checkout?autograph=1
如何提取购买的商品和数量?
理想情况下,我想在本例中为棒球棒和亲笔签名添加新列(如果它们尚不存在),然后将 5 和 1 的相应计数添加到它们的列中(或者如果它们存在于列中,则仅添加到列中)前面的示例),根据此数据推断购买计数。
我想对 python 中的整个 URL 列执行此操作
最佳答案
对于这个问题(信息有限)我建议:
如果你的 df 看起来像这样:
df = pd.DataFrame(data={"url": ["http//mysportswebsite.com/shop/?Baseball+Bat=5", "http//memoribilia.com/checkout?autograph=1"]})
url
0 http//mysportswebsite.com/shop/?Baseball+Bat=5
1 http//memoribilia.com/checkout?autograph=1
你可以这样做:
df['product_count_tuple'] = df.url.apply(lambda x: x.split('?')[1].split('='))
df['product'] = df.product_count_tuple.apply(lambda x: x[0].replace('+', ' '))
df['count'] = df.product_count_tuple.apply(lambda x: x[1])
df = df.drop('product_count_tuple', 1)
结果是:
url product count
0 http//mysportswebsite.com/shop/?Baseball+Bat=5 Baseball Bat 5
1 http//memoribilia.com/checkout?autograph=1 autograph 1
关于python - Pandas Python : Slice/Transform URL to get item and item counts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47657679/