พยายามจะคืนค่าโดยเปรียบเทียบสองคนคอลัมน์จากสองคนต่างออก datasets

0

คำถาม

ฉันมีสองแข่งกัน kart datasets กับ 9 คอลัมน์:

df1:

df1 dataset

df2: df2 dataset

ฉันกำลังพยายามตั้งหลายเงื่อนไขที่สอง datasets คือเปรียบเทียบแล้วพยายามจะพิมพ์ออกไปจริงหรือไม่จริงถ้าสภาพน่าสนใจหลังจากเปรียบเทียบ. สภาพ:

  1. race_start(df1)<=race_start(df2)
  2. race_end(df1)>=race_end(df2)
  3. safety_start(df1)<=safety_start(df2)
  4. safety_end(df1)>=safety_end(df2)
  5. starting_front(df1)<=starting_front(df2)
  6. starting_back(df1)<=starting_back(df2)
  7. pitstop(df1)>=pitstop(df2)
  8. no_pitstop(df1)>=no_pitstop(df2)
  9. สถานะของ(df1)=สถานะ(df2).

ก่อนฉันพยายามนี้:

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')

แต่ฉันมีข้อผิดพลาดเกิดขึ้นระหว่างพูดว่า:

ValueError: Can only compare identically-labeled Series objects

ฉันทำมันใช่ไหม? ฉันพยายามหาทางเลือกอื่นอทางแก้ปัญหานั่นแต่ไม่เจออะไรที่เกี่ยวข้องกับสิ่งที่ฉันกำลังพยายามทำอย่างไร? ใครบอกฉันว่าขั้นตอนที่ฉันเลือกคือทางที่ถูกต้อ? ขอบคุณ

dataframe dataset pandas python
2021-11-24 03:02:00
1

คำตอบที่ดีที่สุด

0

ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามที่จะเปรียบเทียบสองคน pandas DataFrames และเหมือนกันดัชนีขอบป้ายหรือคนคอลัมน์บป้ายยี่ห้องทำไม่ดีตรงกันหรือมันแตกต่างมิติ

คุณสามารถลดความยาว DataFrames ก่อนที่ฟังก์ชันกับว่า-อีกคำให้การ:

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')
2021-11-25 15:32:27

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่