首页 > 解决方案 > 如何检查数据框列是否包含多组字符串并为其包含的每个集合输出一行

问题描述

我有 2 个数据框 - 1 个数据表,另一个用于这样的主题

df_Data = pd.DataFrame({'ID':['123','456','789','100','200'],
                    'Names':['the dog is Red and blue','Cat is Pink','animal is cyan','pet is BLUE','i am green']})

df_Topics = pd.DataFrame({'Blue':['blue','cyan','aqua'],
                    'Red':['red','pinnk','fuscia','crimson']})

我正在寻找使用主题列表来查找这些关键字中是否有任何关键字在 df_Data 中,然后创建一个新表,其中在数据中找到主题,如下所示:

ID   Topics
123   Blue
123   Red
456   Red
789   Blue
100   Blue

标签: python-3.xpandaslistdataframe

解决方案


谢谢!这真的很好用。我打算从 csv 开始,所以我使用此代码以您开始的格式读取 csv:

reader = csv.DictReader(open('file.csv'))

df_Topics = {}
for row in reader:
    for column, value in row.items():  # consider .iteritems() for Python 2
        if value !='': 
            df_Topics.setdefault(column, []).append(value)
print(df_Topics)

推荐阅读