Я думаю, проблема в том, что для каждой итерации цикла вы создаете new DataFrame
; в то время как я предполагаю, что вы, вероятно, захотите, это один DataFrame
со всеми значениями для d
. Попробуйте ниже:
# Instantiate an empty list to collect values of `d` for each iteration
d_values = []
soup=BeautifulSoup(s,'lxml')
soup.prettify()
for anchor in soup.findAll('a', href=True):
s=anchor['href']
if 'bus' in s:
urlparse(s)
path = urlparse(s).path[1:]
parts = path.split('/')
d = parts[2:4]
# Append `d` to your list, creating a list of lists
d_values.append(d)
# Once your loop is done, create a DataFrame from your list of lists
df = pd.DataFrame(d_values, columns=['col1name','col2name'])