3 回答
![?](http://img1.sycdn.imooc.com/5458478b0001f01502200220-100-100.jpg)
TA贡献1804条经验 获得超2个赞
有一种简单的方法可以从列表列表创建数据框。
代码 :
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是表数据中的列表的列表。
final正如您在列中提到的那样,将其分为ll10 列
最后两行是将第一行作为列名,因为我们刚刚创建了一个数据框而没有给出任何列名。
![?](http://img1.sycdn.imooc.com/545868b60001587202200220-100-100.jpg)
TA贡献1859条经验 获得超6个赞
将表数据设置为一维列表后
table_data_list = [''.join(i.text.split() for i in table_data.find_all('td')]
使用 numpy reshape 将数据转换为 2D
df = pd.DataFrame(np.array(table_data_list).reshape(-1,10))
![?](http://img1.sycdn.imooc.com/545846070001a15002200220-100-100.jpg)
TA贡献1827条经验 获得超4个赞
使用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])
添加回答
举报