Объединение серии в один выход - панды - PullRequest
0 голосов
/ 29 июня 2018

Я хочу одну серию в качестве вывода, а не несколько серий, как показано ниже:

Токовый выход:

0    5.98% to 35.89%
1           1% to 6%
dtype: object
0    1% to 6%
dtype: object
0    6.99% to 24.99%
1    6.99% to 24.99%
2    6.99% to 24.99%
3    6.99% to 24.99%
dtype: object
0    6.99% to 24.99%
dtype: object

Желаемый вывод:

0    5.98% to 35.89%
1           1% to 6%
0    1% to 6%
0    6.99% to 24.99%
1    6.99% to 24.99%
2    6.99% to 24.99%
3    6.99% to 24.99%
0    6.99% to 24.99%
dtype: object

Однако с моим текущим кодом я не могу объединить серию. Я попытался превратить его в информационный блок со всей необходимой мне информацией; Тем не менее, при попытке объединить все кадры данных в выводе я не смог заставить его объединить либо. Я знаю, что выполняю цикл перед созданием информационного кадра для оператора регулярного выражения, который я выполняю для некоторого текста перед созданием строки / информационного кадра, что, скорее всего, вызывает несколько выходных данных. Есть ли способ, которым я могу объединить это после цикла? Код ниже:

paragraph = soup.find_all(text=re.compile('[0-9]%'))
for n in paragraph:
    matches = []
    matches.extend(re.findall('(?i)\d+(?:\.\d+)?%\s*(?:to|-)\s*\d+(?:\.\d+)?%', n.string))
    sint = pd.Series(matches)
    if sint.empty:
        continue
    print(sint)

С правками:

    paragraph = soup.find_all(text=re.compile('[0-9]%'))
    vals = []
    for n in paragraph:
        matches = re.findall('(?i)\d+(?:\.\d+)?%\s*(?:to|-)\s*\d+(?:\.\d+)?%', n.string)
        vals.append(pd.Series(matches))
sint = pd.concat(vals)
print(sint)

Новый вывод:

0    6.99% to 24.99%
dtype: object

1 Ответ

0 голосов
/ 29 июня 2018

Сохраните ваши значения и используйте pd.concat впоследствии

paragraph = soup.find_all(text=re.compile('[0-9]%'))
vals = []
for n in paragraph:
    matches = re.findall('(?i)\d+(?:\.\d+)?%\s*(?:to|-)\s*\d+(?:\.\d+)?%', n.string)
    vals.append(pd.Series(matches))

Тогда просто

>>> pd.concat(vals)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...