Regex 找到熊猫的年份范围,尤其是连字符格式?

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

根据下面的数据,我想打印出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       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很高兴我能帮上忙!是的@维努皮莱更新了答案!