【问题标题】:Match values of different dataframes匹配不同数据帧的值
【发布时间】:2021-07-24 17:55:52
【问题描述】:

这个数据框是原始推文的主体。 “original_ds_.csv”

id              tweet              
---------------------------------------------
78           "onetoone"              
86           "maybe tomorrow"        
72           "thnk you"                

然后,我提取了每条推文的推文对话。结果,我有一个名为 "threads.csv"

的数据框

此数据集表示从原始推文中提取的对话推文

id              tweet              conver_id
---------------------------------------------
34           "hello world"            78
36           "nice to have"           78
56           "just an exam"           72 

-conver_id 是表示开始对话的 id 的列(从数据集 original_ds_.csv 中提取)

-conver_id 是 original_ds.csv 的“id”

-可能有一条或多条推文与数据集中的一条原始推文相关联作为第一条。

现在我的问题是,我该怎么做:

如果 original_ds_.csv 上的 idthreads.csvconv_id 列中的相同在 threads.csv 中添加一个名为 File_Name 的新列,其值为 SPANISH

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    逻辑对我来说很奇怪,但如果理解正确,从这些数据帧开始:

    df1 = pd.DataFrame({'tweet': list('ABC')}, index=[78,86,72])
    df2 = pd.DataFrame({'tweet': list('DEF'), 'conver_id': (78,78,12)}, index=(34,36,56))
    
    >>> df1
       tweet
    78     A
    86     B
    72     C
    
    >>> df2
       tweet  conver_id
    34     D         78
    36     E         78
    56     F         12
    

    您可以检查df2['conver_id'] 的每个元素是否在df1.index 中并且映射到SPANISH 为True:

    df2['File_Name'] = (np.vectorize({True: 'SPANISH',
                                      False: ''}.get
                                    )(df2['conver_id'].isin(df1.index))
                       )
    

    输出:

       tweet  conver_id File_Name
    34     D         78   SPANISH
    36     E         78   SPANISH
    56     F         12                  
    

    如果这不是您想要的,请用预期的输出更新您的问题

    【讨论】:

    • 谢谢,我觉得我的例子不太清楚。我试图改善我想在这个问题stackoverflow.com/q/68513155/11985685
    • 请不要开始新问题,只需编辑这个问题
    • 另外,我的回答似乎符合您的预期。只是未定义不匹配值。用'Portugese'替换空字符串''
    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多