首页 > 解决方案 > 合并 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 将默认更改为不排序。

标签: pythonpandascsv

解决方案


要阻止data2.Match-Rating追加,请调用append传递 data2并包含要包含的列名:

data.append(data2[['Away', 'Home']], ignore_index=True, sort=False)\
    .replace(np.nan, '')

如您所见,我添加了ignore_index=True以避免重复索引。我还添加了sort=False以避免有关未来版本中计划更改的警告。

我还添加了替换以将NaN值更改为空字符串。


推荐阅读