首页 > 解决方案 > 在包含列表的 Pandas 列中查找字符串

问题描述

我对 Pandas 还很陌生,对一个项目真的很困惑。

我有一个看起来像这样的 Pandas 数据框:

ID 零售商
ID_1 [“零售商 1”、“零售商 2”、“零售商 3”]
ID_2 [“零售商 1”,“零售商 2”]

我的目标是:

以零售商 3 为例:

ID 零售商 零售商 3
ID_1 [“零售商 1”、“零售商 2”、“零售商 3”] 1
ID_2 [“零售商 1”,“零售商 2”] 0

希望这是有道理的。

标签: pythonpandas

解决方案


这是一种方法:

import pandas as pd

df = pd.DataFrame({'ID': {0: 'ID_1', 1: 'ID_2'},
 'Retailers': {0: ["retailer 1", "retailer 2", "retailer 3"],
  1: ["retailer 1", "retailer 2"]},
 'retailer 3': {0: 1, 1: 0}})

# get unique retailers
retailers = set(df['Retailers'].sum())
# create variables
for r in retailers:
    df[r] = df['Retailers'].apply(lambda x: r in x).astype(int)

在此处输入图像描述


推荐阅读