3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
有一種簡(jiǎn)單的方法可以從列表列表創(chuàng)建數(shù)據(jù)框。
代碼 :
ll = []
for data in table_data.find_all('td'):
ll.append(''.join(data.text.split()))
n = 10
final = [ll[i:i + n] for i in range(0, len(ll), n)]
col = final [0]
df = pd.DataFrame(final)
df.columns = df.iloc[0]
df = df.drop(df.index[0])
df
ll是表數(shù)據(jù)中的列表的列表。
final正如您在列中提到的那樣,將其分為ll10 列
最后兩行是將第一行作為列名,因?yàn)槲覀儎倓倓?chuàng)建了一個(gè)數(shù)據(jù)框而沒有給出任何列名。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
將表數(shù)據(jù)設(shè)置為一維列表后
table_data_list = [''.join(i.text.split() for i in table_data.find_all('td')]
使用 numpy reshape 將數(shù)據(jù)轉(zhuǎn)換為 2D
df = pd.DataFrame(np.array(table_data_list).reshape(-1,10))

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用pd.concat
import pandas as pd
col_name = ['Team','Mat','Won','Lost','Tied','N/R','Points','NetR/R','For','Against']
# Main dataframe
df = pd.DataFrame(data=None, columns=col_name)
# df1 is the data frame that you want to concat in your original data frame
df = pd.concat([df, df1])
添加回答
舉報(bào)