python - 附加两个 csv 文件时如何修复 pandas concat

标签 python pandas csv concatenation

我正在尝试将两个具有相同结构的 csv 文件合并为一个组合的 csv 文件,但是当我这样做时,列会以不同的顺序重新排列,我是我的一个 csv 文件中缺少数据。

我已经检查了这两个文件,以确保它们的列彼此一致,但是当我执行代码时,我的一个 csv 文件(变量 b)似乎缺少“社会关怀”中的数据DTOC 床位”一栏。执行代码后我也收到此消息:

“FutureWarning:由于非串联轴未对齐而进行排序。 future 版本的 pandas 将更改为默认不排序。要接受 future 的行为,请传递 'sort=True'。保留当前行为并使警告静音,传递 sort=False"

a=pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/04/MSitDT-FEBRUARY-2019-full-extract-for-publication-td5dtd.csv')

b = pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/03/MSitDT-JANUARY-2019-full-extract-for-publication-5tsrt.csv')

out_put=pd.concat([a,b])

out_put.to_csv( "result.csv", encoding='utf-8-sig')

我期待一个 csv 文件,其中合并的行按相同的列顺序排列,并且其中任何一个都没有丢失数据。

最佳答案

列标题之间存在大小写不匹配...例如。 “社会关怀 DTOC 床”“社会关怀 DTOC 床” - 请注意“床”中的小写“b”。

简单的修复方法是使用 str.title 标准化这些列标题。 (或 str.lower/str.upper 如果您愿意):

a=pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/04/MSitDT-FEBRUARY-2019-full-extract-for-publication-td5dtd.csv')

b = pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/03/MSitDT-JANUARY-2019-full-extract-for-publication-5tsrt.csv')

a.columns = a.columns.str.title()
b.columns = b.columns.str.title()

out_put = pd.concat([a, b])[a.columns]

关于python - 附加两个 csv 文件时如何修复 pandas concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55745175/

相关文章:

python "bad interpreter"错误

python - pandasql不会导入: ImportError: cannot import name to_sql

csv - 将 Hive 查询结果输出为 csv 并用引号括起来

php - 如何在 MYSQL 中使用 STR_TO_DATE 和 INSERT INTO

python - 在 tweepy 中捕获所有追随者

python - Django 测试错误 "Permission denied to create database"- 使用 Heroku Postgres

带有 vim pythoncomplete 的 Python 文档字符串不显示我自己的类函数的换行符

python - 对 pandas 数据框进行分组并标记相应的行,其中列表中的所有值都存在于列中

python - 使用 group-by 计算 Pandas 数据帧上的累积移动平均值

linux - 根据字符串名称过滤 CSV 文件