gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:53 24 4
gpt4 key购买 nike

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

我已经尝试过了 df2.iloc[0, 3].where(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:条件数组必须与自身形状相同

Tm  H/A  Final W/L/T
SFO A 16 T
NYG H 13 T
df1 = pd.read_csv('20020905_nyg_scoring.csv', header = 0, index_col = 0)
df1.drop(['Detail', 'Quarter', 'Time', 'Tm'], axis = 1, inplace = True)

df2 = pd.read_csv('20020905_nyg_team_stats.csv', header = 0, index_col = 1)
df2.drop('Unnamed: 0', axis = 1, inplace = True)
df2 = df2.transpose()
df2.reset_index(inplace = True)
df2.rename(columns = {'index':'Tm'}, inplace = True)
df2.insert(1, 'H/A', ['A', 'H'])
df2.insert(2, 'Final', (df1.iloc[-1, 0], df1.iloc[-1, 1]))
df2.insert(3, 'W/L/T', 'T')
pd.to_numeric(df2['Final'])
df2.iloc[0, 3].where(df2.iloc[0, 2] > df2.iloc[1, 2], 'W', inplace = True)
print(df2)

最终,预期结果应该在 W/L/T 下为 SFO 线路提供 W,为 NYG 线路提供 L。

最佳答案

使用np.where获取WL,并使用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

关于python - 根据两个不同单元格的比较设置单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56980228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com