首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图通过比较来自两个不同数据集的两列来返回值

试图通过比较来自两个不同数据集的两列来返回值
EN

Stack Overflow用户
提问于 2021-11-24 03:02:00
回答 1查看 41关注 0票数 0

我有两个有9列的赛车卡丁车数据集:

df1:

df2:

我试图设置多个条件,其中两个数据集进行比较,并试图打印真假,如果条件是令人满意的比较。这些条件是:

美国国家航空公司( (df2)

  • safety_end ) (df1) (df1)

  • race_start (df1) <= race_start (df2)

  • race_end (df1) >= en3_2#()en24#()en27() pitstop ()en32#no_pitstop (df1) >= no_pitstop (df2)

  • status (df1) = status (Df2)。

首先,我尝试了这个:

代码语言:javascript
复制
import numpy as np
df1['race_start_final'] = np.where(df1.race_start <= df2.race_start, 'True', 'False')
df1['race_end_final'] = np.where(df1.race_end >= df2.race_end, 'True', 'False')
df1['safety_start_final'] = np.where(df1.safety_start <= df2.safety_start, 'True', 'False')
df1['safety_end_final'] = np.where(df1.safety_end >= df2.safety_end, 'True', 'False')
df1['starting_front_final'] = np.where(df1.starting_front <= df2.starting_front, 'True', 'False')
df1['starting_back_final'] = np.where(df1.starting_back <= df2.starting_back, 'True', 'False')
df1['pitstop_final'] = np.where(df1.pitstop >= df2.pitstop, 'True', 'False')
df1['pitstop_final'] = np.where(df1.pitstop >= df2.pitstop, 'True', 'False')
df1['status_final'] = np.where(df1.status == df2.status, 'True', 'False')

但我说错了:

代码语言:javascript
复制
ValueError: Can only compare identically-labeled Series objects

我做得对吗?我试图找到替代的解决方案,但没有找到任何与我想要做的相关的解决方案?有人能告诉我我选择的程序是否正确吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-11-25 15:32:27

当您试图比较两个熊猫DataFrames,或者索引标签或列标签不完全匹配,或者它有不同的维度时,就会发生此错误。

您可以在where函数之前用if-where语句截断DataFrames:

代码语言:javascript
复制
df1 = pd.DataFrame([
    [10.5, 8.5],
    [8.5, 8.5]],
    columns=['race_start','race_end'])
df2 = pd.DataFrame([
    [9.8, 9.8],
    [9.8, 9.8],
    [8.5, 8.5]],
    columns=['race_start','race_end'])

if len(df1) > len(df2):
    df1=df1.tail(df2.shape[0]).reset_index()
else:
    df2=df2.tail(df1.shape[0]).reset_index()
    
df1['race_start_final'] = np.where(df1.race_start <= df2.race_start, 'True', 'False')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70090265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档