Python 基于dataframe中其他列的值设置列的值

Python 基于dataframe中其他列的值设置列的值,python,pandas,Python,Pandas,我有一个数据框: 这是一些关于两国之间板球比赛的虚构数据。我想根据以下简单逻辑设置列winner的值: if country_1_runs == country_2_runs: winner = 3 elif country_1_runs > country_2_runs: winner = 1 else: winner = 2 我知道地图和熊猫的应用方法。但我不确定它们是否允许上述条件表达式。使用: 使用: 你可以试试 df['winner'] = np.wh

我有一个数据框:

这是一些关于两国之间板球比赛的虚构数据。我想根据以下简单逻辑设置列winner的值:

if country_1_runs == country_2_runs:
    winner = 3
elif country_1_runs > country_2_runs:
    winner = 1
else:
    winner = 2
我知道地图和熊猫的应用方法。但我不确定它们是否允许上述条件表达式。

使用:

使用:

你可以试试

df['winner'] = np.where(df['country_1_runs'] == df['country_2_runs'], 3, 
    np.where(df['country_1_runs']> df['country_2_runs'], 1, 2))
你可以试试

df['winner'] = np.where(df['country_1_runs'] == df['country_2_runs'], 3, 
    np.where(df['country_1_runs']> df['country_2_runs'], 1, 2))

这是一个非常优雅的解决方案。@RodrikTheReader-是的,我同意。这是一个非常优雅的解决方案。@RodrikTheReader-是的,我同意。