【发布时间】:2018-05-19 10:09:54
【问题描述】:
为什么当我在 Excel 中手动输入数据时,pandas 可以工作。然而,当我抓取数据时,将其放入 csv 中。它给了我:
zz = df1.WE=np.where(df3.AL.isin(df1.EW),df1.WE,np.nan)
ValueError: operands could not be broadcast together with shapes (148,) (537,) ()
其他网站没有发生这种情况。我在这里遗漏了一些明显的东西吗?是excel格式不正确还是这里的数据不一样?
df3
df3 = pd.DataFrame(columns=['DAT', 'G', 'TN', 'O1', 'L1', 'TN2', 'O2', 'L2', 'D', 'AJ', 'AK', 'AL'])
df1
EW WE \
0 Ponte Preta U20 v Cruzeiro U20 2.10
1 Fluminense RJ U20 v Defensor Sporting U20 2.00
2 Gremio RS U20 v Palmeiras U20 3.30
3 Barcelona v Sporting 1.33
DA
0 https://www.bet365.com.au/#/AC/B1/C1/D13/E40/F...
1 https://www.bet365.com.au/#/AC/B1/C1/D13/E40/F...
2 https://www.bet365.com.au/#/AC/B1/C1/D13/E40/F...
3 https://www.bet365.com.au/#/AC/B1/C1/D13/E40/F...
代码:
df3 = pd.DataFrame(columns=['DAT', 'G', 'TN', 'O1', 'L1', 'TN2', 'O2', 'L2', 'D', 'AJ', 'AK', 'AL'])
df3['DAT'] = df2['AA']
zz = df1.WE=np.where(df3.AL.isin(df1.EW),df1.WE,np.nan)
print(zz)
我已经提供了创建数据框 1、2 和 pandas 代码的所有脚本,直到它创建错误 here
我不断得到
错误:
zz = df1.WE=np.where(df3.AL.isin(df1.EW),df1.WE,np.nan)
ValueError: operands could not be broadcast together with shapes (0,) (4,) ()
从抓取创建的错误文件并作为数据框加载:
如果这还不够,我也会按原样加载文件。
手动创建的工作文件:
工作:
知道如何解决这个问题吗?
【问题讨论】:
标签: python python-3.x pandas selenium screen-scraping