하려는 반환 값을 비교해 두 개의 열 두 개의 서로 다른 데이터

0

질문

나는 두 레이싱 카트의 데이터 집합 9 란:

df1:

df1 dataset

df2: df2 dataset

나는 설정하려고 여러 조건을 어디에 두 개의 데이터 비교하고 인쇄 참 또는 거짓는 경우 이 조건이 만족스러운 후에 비교. 의 조건은 다음과 같습니다.

  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)=status(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

이 오류가 발생합니다려고 시도할 때 두 판 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ý
..................................................................................................................