gpt4 book ai didi

python - 如何寻址列的最小值的行

转载 作者:行者123 更新时间:2023-12-04 07:52:27 25 4
gpt4 key购买 nike

这是用于创建 df 的代码:

team = np.array(['Ferrari', 'Ferrari', 'Ferrari', 'Ferrari', 'Ferrari', 'Ferrari', 'Ferrari', 'Ferrari'])
year = np.array([2019, 2019, 2019, 2020, 2020, 2020, 2020, 2020])
roundn = np.array([4, 5, 6, 1, 2, 3, 4, 5])
points = np.array([6, 10, 14, 20, 40, 60, 80, 100])

df = pd.DataFrame(team, columns=["team"])
df['year'] = year
df['roundn'] = roundn
df['points'] = points

df = df.groupby(["team", 'year']).apply(display)
enter image description here
因此,对于每个组,我想添加一个新列,该列的 roundn 列的最小值为 1,否则为 0。
我试过这样的事情,但它不起作用:
df['new_col'] = np.where(np.argmin(df['roundn']), 1, 0)
你有什么想法如何使它工作吗?
先感谢您。

最佳答案

这会产生一个新的 DataFrame :

df.loc[df.groupby(['team', 'year'])['roundn'].idxmin(), 'new_col'] = 1
df['new_col'].fillna(0, inplace=True)
或者,您也可以为每个组添加一个新列,稍后与 pd.concat 结合使用。
groups = []
for n, g in df.groupby(['team', 'year']):
g['new_col'] = np.where(g.roundn.min()==g.roundn, 1, 0)
groups.append(g)

pd.concat(groups)

关于python - 如何寻址列的最小值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66888293/

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