AZh*_*hao 4 python sqlalchemy pandas
我正在将我的SQLAlchemy映射的星型模式直接查询到a,pandas DataFrame
并且从pandas
我想要解决的问题中得到一个恼人的SAWarning .这是一个简化版本.
class School(Base):
__tablename__ = 'DimSchool'
id = Column('SchoolKey', Integer, primary_key=True)
name = Column('SchoolName', String)
district = Column('SchoolDistrict', String)
class StudentScore(Base):
__tablename__ = 'FactStudentScore'
StudentKey = Column('StudentKey', Integer, ForeignKey('DimStudent.StudentKey'), primary_key = True)
SchoolKey = Column('SchoolKey', Integer, ForeignKey('DimSchool.SchoolKey'), primary_key = True)
PointsPossible = Column('PointsPossible', Integer)
PointsReceived = Column('PointsReceived', Integer)
student = relationship("Student", backref='studentscore')
school = relationship("School", backref='studentscore')
Run Code Online (Sandbox Code Playgroud)
我用这样的语句查询日期:
standard = session.query(StudentdScore, School).\
join(School).filter(School.name.like('%Dever%'))
testdf = pd.read_sql(sch.statement, sch.session.bind)
Run Code Online (Sandbox Code Playgroud)
然后得到这个警告:
SAWarning: Column 'SchoolKey' on table <sqlalchemy.sql.selectable.Select at 0x1ab7abe0; Select object> being replaced by Column('SchoolKey', Integer(), table=<Select object>, primary_key=True, nullable=False), which has the same key. Consider use_labels for select() statements.
Run Code Online (Sandbox Code Playgroud)
我为我的联接中包含的每个附加表(类)都收到此错误.消息始终引用外键.
其他人遇到此错误并确定根本原因?或者你也会忽略它?
编辑/ UPDATE:
处理来自SQLAlchemy Join的Pandas DataFrame构造函数中的重复列
这些人似乎在谈论一个相关问题,但是他们使用不同的pandas方法将数据帧带入并希望保留重复,而不是丢弃它们.任何人都有关于如何实现类似样式函数的想法,但在查询返回时删除重复项?
AZh*_*hao 10
对于它的价值,这是我有限的答案.
对于以下SAWarning:
SAWarning: Column 'SchoolKey' on table <sqlalchemy.sql.selectable.
Select at 0x1ab7abe0; Select object> being replaced by Column('SchoolKey', Integer(), table=<Select object>, primary_key=True, nullable=False), which has the same key.
Consider use_labels for select() statements.
Run Code Online (Sandbox Code Playgroud)
它确实告诉您,即使列位于不同的表中,也存在具有重复名称的列.在大多数情况下,这是无害的,因为连接键的列很简单.但是,我遇到过这样的情况:表格包含由不同的填充列重复命名的列表(即具有名称列的教师表和具有名称列的学生表).在这些情况下,与像的方法重命名熊猫数据帧这,或重命名底层数据库表.
我会留意这个问题,如果有人有更好的问题,我很乐意给出答案.
归档时间: |
|
查看次数: |
2580 次 |
最近记录: |