python - 合并 2 个 csv 文件行
问题描述
所以我试图预测一场体育比赛的获胜者,我有 2 个 CSV 文件。一个带有当年的统计数据,另一个带有去年的统计数据。
我想合并它们,但只能与第一个文件中的列合并:
这样如果第一个表有列 ['Away','Home','Result']
第二个有 ['Away','Home','Match-Rating']
结果将包含 ['Away','Home','Result'],如果在第二个 CSV 中找不到,则“结果”列将包含 0 或其他默认值。
我试过了 :
data = panda.read_csv('PremierLeagueDataSet/19-20.csv')
display(data.head())
data2= panda.read_csv('PremierLeagueDataSet/18-19.csv')
data.append(data2)
但给了我一个警告并且没有做想要的连接
FutureWarning:排序,因为非连接轴未对齐。未来版本的 pandas 将默认更改为不排序。
解决方案
要阻止data2.Match-Rating追加,请调用append传递 data2并包含要包含的列名:
data.append(data2[['Away', 'Home']], ignore_index=True, sort=False)\
.replace(np.nan, '')
如您所见,我添加了ignore_index=True以避免重复索引。我还添加了sort=False以避免有关未来版本中计划更改的警告。
我还添加了替换以将NaN值更改为空字符串。
推荐阅读
- android - javax.net.ssl.SSLHandshakeException:cert.CertPathValidatorException:Trust anchor for certificate path not found - Android Cordova 中的错误
- python-3.x - Google Cloud Bigquery 库错误
- .net-core - dotnet进程下的wmi性能适配器
- java - Android:如何从 strings.xml 获取大字符串数组?
- java - 在java中使用准备好的语句时发现sql注入
- facebook - 作为我的应用审核的一部分,需要进行业务验证
- r - R - 使用多个标识符匹配值(当查找 ID 的顺序是随机时)
- mysql - 在从环回模型自动迁移之前,您必须在 mysql 中手动创建数据库吗?
- java - JNA 本机代码有时会失败并显示错误代码 127:“找不到指定的过程”
- mysql - MySQL - 查找来自多个供应商的商品的最新、最优惠价格