Python 根据两个不同单元格的比较设置单元格值

Python 根据两个不同单元格的比较设置单元格值,python,python-3.x,pandas,Python,Python 3.x,Pandas,我需要比较一列中的两行并将其输出到另一列。从某种意义上说,我拥有一场比赛的最终得分,每支球队都列在其他统计数据的行列中。我想创建一个列,将获胜者标记为“W”,而失败者标记为“L” 我试过了 df2.iloc[0,3]。其中(df2.iloc[0,2]>df2.iloc[1,2],'W',inplace=True) 和 df2.iloc[0,3]=df2.where(df2.iloc[0,2]>df2.iloc[1,2],df.iloc[0,3]='W',inplace=True) 在其他尝试中,

我需要比较一列中的两行并将其输出到另一列。从某种意义上说,我拥有一场比赛的最终得分,每支球队都列在其他统计数据的行列中。我想创建一个列,将获胜者标记为“W”,而失败者标记为“L”

我试过了
df2.iloc[0,3]。其中(df2.iloc[0,2]>df2.iloc[1,2],'W',inplace=True)
df2.iloc[0,3]=df2.where(df2.iloc[0,2]>df2.iloc[1,2],df.iloc[0,3]='W',inplace=True)

在其他尝试中,我遇到的两个最常见的错误是: AttributeError:“str”对象没有属性“where” 和 ValueError:数组条件必须与self的形状相同

Tm  H/A  Final W/L/T
SFO   A     16     T
NYG   H     13     T

最终,预期结果应给出SFO线的W和W/L/T下NYG线的L。

使用
np。其中
获取
W
L
,以及
if
语句,以检查其是否平局,是否分配
T

df['W/L/T'] = np.where(df['Final'] > df['Final'].shift(-1), 'W', 'L')
if (df['Final'].shift() == df['Final']).any():
    df['W/L/T'] = 'T'
print(df)
输出:

    Tm H/A  Final W/L/T
0  SFO   A     16     W
1  NYG   H     13     L

使用
np.where
获取
W
L
,并使用
if
语句检查是否为平局,如果为平局,则分配
T

df['W/L/T'] = np.where(df['Final'] > df['Final'].shift(-1), 'W', 'L')
if (df['Final'].shift() == df['Final']).any():
    df['W/L/T'] = 'T'
print(df)
输出:

    Tm H/A  Final W/L/T
0  SFO   A     16     W
1  NYG   H     13     L

成功了!我不熟悉.shift(),现在有一些阅读要做@jobond83很乐意帮忙:-)真管用!我不熟悉.shift(),现在有一些阅读要做@jobond83乐意帮忙:-)