首页 > 解决方案 > 如何将数据框导出到 Excel 并仅打印新的数据框行?

问题描述

我有一个 python 程序,可以打印从各个博彩公司那里获取的赔率差异。这是通过将赔率附加到 pandas 数据帧来实现的。每次我运行 python 文件时,我都想将数据框导出到 Excel,这样程序就不会打印重复的赔率差异。这可以通过在打印数据帧时参考 Excel 表来查看马的名字是否已经存在来实现。我不希望 Excel 工作表在每次程序运行时完全擦除。

以下是数据帧输出的示例:

            Race             Horse      Bookmaker   Odds  AvgOdds
13     Mackay R1        Which Lily  SportsBetting   2.45     2.04
15     Mackay R1        Which Lily         Bet365   2.40     2.04
17     Mackay R1  Molongle Drifter           Ubet   9.00     7.26
18     Mackay R1  Molongle Drifter        BetEasy   8.50     7.26
19     Mackay R1  Molongle Drifter           Neds   8.50     7.26
...          ...               ...            ...    ...      ...
1545  Mackay R10        Cold Power  SportsBetting   8.10     6.39
1547  Mackay R10        Cold Power         Bet365   8.00     6.39
1548  Mackay R10   All Star Rocket           Ubet   7.20     2.98
1560  Mackay R10           Dawlish      Sportsbet  14.00    11.65
1561  Mackay R10           Dawlish  SportsBetting  15.20    11.65

这是我与数据框相关的代码部分:

cols1 = ['Race', 'Horse', 'Bookmaker', 'Odds']
df1 = pd.DataFrame(data=data, columns=cols1)
cols2 = ['Race', 'Horse', 'Bookmaker', 'AvgOdds']
df2 = pd.DataFrame(data=data, columns=cols2)
df3 = df2.groupby(by='Horse', sort=False).mean()
df3 = df3.reset_index()
df4 = round(df3,2)
dfmerge = pd.merge(df1,df4,on='Horse',how='inner')
dfmerge2 = dfmerge[dfmerge['Odds']>dfmerge['AvgOdds']*1.15]
print(dfmerge2)

标签: pythonexcelpandasdataframe

解决方案


推荐阅读