首页 > 解决方案 > 附加到系列产生空结果

问题描述

我正在和熊猫一起做一些家庭作业。我一直在尝试根据匹配条件创建一个列表:

lst = []

for word in nhl_df['teamname']:
    for name in cities['NHL']:
        if re.search(word, name):
            lst.append(cities['Metropolitan area'][cities['NHL'] == name])

输出如下:

[16    Tampa Bay Area
 Name: Metropolitan area, dtype: object,
 7    Boston
 Name: Metropolitan area, dtype: object,
 13    Toronto
 Name: Metropolitan area, dtype: object, ....

但是,虽然我使用系列而不是列表:

lst = pd.Series(dtype = str)
for word in nhl_df['teamname']:
    for name in cities['NHL']:
        if re.search(word, name):
            lst.append(cities['Metropolitan area'][cities['NHL'] == name])

结果将是空的。我可以看到我的每个输出值都是对象。我该如何解决这个问题?

非常感谢您花时间和帮助解决这个问题!

标签: pythonpandasdataframe

解决方案


尝试使用:

lst = lst.append(cities['Metropolitan area'][cities['NHL'] == name])

在最后一条语句中,而不是只是lst.append(...).

由于更新未到位,您必须将其重新分配给系列。


推荐阅读