gpt4 book ai didi

python - Pandas - 每隔一行应用函数

转载 作者:行者123 更新时间:2023-12-03 20:05:52 24 4
gpt4 key购买 nike

我有一个数据框,我想要做的基本上是在同一地点列出获胜和失败团队的得分。我试图放置一个 lambda 函数,但没有成功。我目前拥有的数据框是第一个,我想以第二个问题的形式创建一个数据集。谢谢。

enter image description here

an

GameId      Team    Home    Score
1 Spirit 1 81
1 Rockers 0 66
2 Lightning 1 73
2 Flames 0 82


Game ID Home Team Away Team Home Score Away Score
1 Spirit Rockers 81 66
2 Lightning Flames 73 82

最佳答案

尝试这个:

输入:

import pandas as pd

raw_df = pd.DataFrame({"GameId": [1, 1, 2, 2],
"Team": ["Spirit", "Rockets", "Lighting", "Flames"],
"Home": [1, 0, 1, 0],
"Score": [81, 66, 73, 82]})
print(raw_df)

输出:
   GameId      Team  Home  Score
0 1 Spirit 1 81
1 1 Rockets 0 66
2 2 Lighting 1 73
3 2 Flames 0 82

输入:
raw_df.loc[:, "Home"] = raw_df.Home.map({
1: "Home",
0: "Away"
})

result = raw_df.pivot_table(index=["GameId"],
columns=["Home"],
values=["Team", "Score"],
aggfunc={"Team": lambda team: " ".join(team.tolist()),
"Score": lambda score: score})

result = result.sort_index(axis="columns", level=[0, "Home"], ascending=False)
result.columns = [' '.join(reversed(col)) for col in result.columns]
print(result)

输出:
       Home Team Away Team  Home Score  Away Score
GameId
1 Spirit Rockets 81 66
2 Lighting Flames 73 82

关于python - Pandas - 每隔一行应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62337076/

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