亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何創建一個空數據框并在循環中不斷向其中插入數據?

如何創建一個空數據框并在循環中不斷向其中插入數據?

HUWWW 2023-07-18 15:42:26
我從網站上抓取了一些表格數據。網站上的實際表格如下所示 -我使用 beautifulsoup 來獲取這種格式的數據 -[<td class="TableHeadingLeft" width="175">                        Team                    </td>, <td class="TableHeadingRight" width="35">                        Mat                    </td>, <td class="TableHeadingRight" width="35">                        Won                    </td>, <td class="TableHeadingRight" width="35">                        Lost                    </td>, <td class="TableHeadingRight" width="35">                        Tied                    </td>, <td class="TableHeadingRight" width="35">                        N/R                    </td>, <td class="TableHeadingRight" width="45">                        Points                    </td>, <td class="TableHeadingRight" width="55">                        Net R/R                    </td>, <td class="TableHeadingRight" width="75">                        For                    </td>, <td class="TableHeadingRight" width="75">                        Against                    </td>, <td align="left"> <a class="LinkOff" href="MatchList.asp?s=2019&amp;t=MIN">Mumbai Indians</a> </td>, <td align="right">                             14                          </td>, <td align="right">                        9                           </td>, <td align="right">                        5                           </td>, <td align="right">                        0                           </td>, <td align="right">                        0                           </td>, <td align="right">                        18                          </td>, <td align="right">                        +0.421                          </td>, <td align="right">                        2380/275.1                          </td>, <td align="right">                        2282/277.2                          </td>, <td align="left">
查看完整描述

3 回答

?
慕婉清6462132

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 列


最后兩行是將第一行作為列名,因為我們剛剛創建了一個數據框而沒有給出任何列名。


查看完整回答
反對 回復 2023-07-18
?
慕絲7291255

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))


查看完整回答
反對 回復 2023-07-18
?
GCT1015

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])


查看完整回答
反對 回復 2023-07-18
  • 3 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號