Regex 找到熊猫的年份范围,尤其是连字符格式?
根据下面的数据,我想打印出1934年至1948年间首次参加比赛的球队名单。因为第一列是对象,所以我无法以整数形式获取列数据Regex 找到熊猫的年份范围,尤其是连字符格式?,regex,pandas,Regex,Pandas,根据下面的数据,我想打印出1934年至1948年间首次参加比赛的球队名单。因为第一列是对象,所以我无法以整数形式获取列数据 Team Debut 0 Real Madrid 1929 1 Barcelona 1929 2 Atletico Madrid 1929 3 Valencia 1931-32 4 Athletic Bilbao 1929 5 Sevilla 1934-35 6 Espany
Team Debut
0 Real Madrid 1929
1 Barcelona 1929
2 Atletico Madrid 1929
3 Valencia 1931-32
4 Athletic Bilbao 1929
5 Sevilla 1934-35
6 Espanyol 1929
7 Real Sociedad 1929
8 Zaragoza 1939-40
9 Real Betis 1932-33
10 Deportivo La Coruna 1941-42
11 Celta Vigo 1939-40
12 Valladolid 1948-49
有人能帮我想一个办法吗
提前感谢如果仅计算范围的第一年,您可以在转换为数值后使用:
year = pd.to_numeric(df.Debut.str.split('-').str[0])
teams = df.Team[year.between(1934, 1948)]
print(teams)
输出
5 Sevilla
8 Zaragoza
10 Deportivo La Coruna
11 Celta Vigo
12 Valladolid
Name: Team, dtype: object
您可以使用str.extract提取日期的第一部分,并检查其是否在所需范围内
mask = df['Debut'].str.extract('(\d+)')[0].astype(int).between(1934,1948)
df[mask]
Team Debut
5 5 Sevilla 1934-35
8 8 Zaragoza 1939-40
10 10 Deportivo La Coruna 1941-42
11 11 Celta Vigo 1939-40
12 12 Valladolid 1948-49
预期输出是什么,例如,1941-42算作1941还是1942?感谢您的回复,根据请求的范围,预期输出可以是41或42。例如,如果范围在1941年结束?感谢Daniel的帮助,这很好。那么“年与年”是熊猫的一种方法吗?直到现在还不熟悉:-)@VinuPillai很高兴我能帮上忙!是的@维努皮莱更新了答案!