python - 在 Python 中将足球比分转换为数字
问题描述
我是 Python 新手,我正在尝试对足球比分数据框架进行一些计算。有没有办法将足球比分(例如 3-2、2-0 ..)从 object dtype 转换为数字,所以我可以对它们执行一些数字运算?
先感谢您。
解决方案
将来,提供具有预期输入和输出的样本数据集。
您可以在字符上拆分列'-'
。将列转换为 int 并执行 groupby 以求总点数。
鉴于:
print(df)
Team Result Score
0 A W 3-0
1 A W 3-2
2 A L 2-4
3 A L 1-2
4 B W 1-0
5 B L 0-1
6 B T 1-1
7 B L 2-3
代码:
import pandas as pd
df = pd.DataFrame([['A','W','3-0'],
['A','W','3-2'],
['A','L','2-4'],
['A','L','1-2'],
['B','W','1-0'],
['B','L','0-1'],
['B','T','1-1'],
['B','L','2-3']], columns=['Team','Result','Score'])
df[['Team Points','Opp Points']] = df['Score'].str.split('-',expand=True)
df[['Team Points','Opp Points']] = df[['Team Points','Opp Points']].astype(int)
df_sum = df.groupby(['Team'])['Team Points'].sum()
输出:
print(df)
Team Result Score Team Points Opp Points
0 A W 3-0 3 0
1 A W 3-2 3 2
2 A L 2-4 2 4
3 A L 1-2 1 2
4 B W 1-0 1 0
5 B L 0-1 0 1
6 B T 1-1 1 1
7 B L 2-3 2 3
和:
print(df_sum)
Team
A 9
B 4
Name: Team Points, dtype: int32
推荐阅读
- docker - Kompose 在来自 env 文件的名称中传播下划线
- java - 如何使用 Maven Moditect 插件错误修复“无法为 *.jar 派生模块描述符”?
- python - Python - 如何点击网站上的按钮?
- c# - 如何使用正则表达式分隔包含任何字符的字符串,然后以独占数字结尾?
- python - 是否有任何 NLP 技术来检查与原始文本相比有多少信息潜文本?
- apache-nifi - NiFi Bootstrap 如何确定 NiFi 是否未运行?
- inno-setup - 如何防止 Inno Setup 6 创建新的签名卸载程序?
- javascript - 提交表单时没有得到输出
- woocommerce - 如果未选中复选框,如何发布数据
- facebook - 如何跟踪点击(fbc)?