python - 如何将数据框导出到 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)
解决方案
推荐阅读
- aws-glue - Glue 中是否有更新表格的选项?
- python - 为什么 PySpark 任务花费了太多时间?
- python - 如何在 Django 中构建允许任意查询和切片的排行榜?
- java - 修复 2 个应该删除重复和反向顺序对的方法
- java - 从头开始编写单个链接列表类 - 删除,indexOf 方法不起作用
- java - 为什么可以从静态嵌套类外部访问私有变量?
- angular - 解决路由器错误:未捕获错误:无法解析 MemberListResolver 的所有参数:
- c# - 我的问题是当我得到另一个分数时我想显示另一颗星,例如当我得到 1-19 时,我只会得到 1 星
- android-studio - 无法在 Android Studio 3.6 中设置或下载 SDK 路径?
- python-3.x - 如何在python中访问具有相同类名的第二个元素