python - 在for循环中加入数据框
问题描述
我的代码不起作用......它给了我ValueError: columns overlap but no suffix specified
import pandas as pd
import pickle
list = ["ZILLOW2.csv", "ZILLOW3.csv", "ZILLOW4.csv",
"ZILLOW6.csv", "ZILLOW7.csv", "ZILLOW8.csv"]
maindf = pd.DataFrame()
for x in list:
df = pd.read_csv(x)
if x == "ZILLOW2.csv":
maindf = pd.DataFrame(df)
else:
maindf = maindf.join(df)
print(maindf)
解决方案
使用concat
:
import pandas as pd
import pickle
list = ["ZILLOW2.csv", "ZILLOW3.csv", "ZILLOW4.csv",
"ZILLOW6.csv", "ZILLOW7.csv", "ZILLOW8.csv"]
maindf = pd.DataFrame()
for x in list:
df = pd.read_csv(x)
if x == "ZILLOW2.csv":
maindf = pd.DataFrame(df)
else:
maindf = pd.concat([maindf, df], axis=1)
print(maindf)
推荐阅读
- javascript - 如何引用将在脚本加载后声明的函数
- grails - Grails 域对象读取忽略某些列
- angular - 如何在 Angular 中使用 csv-parse?
- c# - 尝试从 WPF 中的 Access 数据库中获取给定条件的日期时出错
- javascript - 如何过滤具有多个部门的文档
- javascript - 我正在解决一个实践竞争性编程问题,但我无法弄清楚出了什么问题
- c# - 我将一个正在运行的项目从一台电脑移动到另一台电脑,现在它提供了与数据库相关的错误
- google-cloud-platform - 指定的提供商“google”不存在
- python - DJANGO CRUD 没有名为“django.contrib.name”的模块
- r - 创建固定长度二进制向量的更快方法:如果固定长度为 6,则 4' 将变为 (0,0,0,1,0,0)