我通过 Pandas 的 read_sql 和外部应用程序 (DbVisualizer) 运行完全相同的查询。
DbVisualizer 返回 206 行,而 pandas 返回 178 行。
我已经尝试根据How to create a large pandas dataframe from an sql query without running out of memory?,它没有改变。
这可能是什么原因以及解决方法?
查询:
select *
from rainy_days
where year=’2010’ and day=‘weekend’
Run Code Online (Sandbox Code Playgroud)
列包含:日期、年份、工作日、当天的降雨量、温度、地理位置(每个位置的行)、风测量值、前一天的降雨量等。
确切的python代码(减去连接细节)是:
import pandas
from sqlalchemy import create_engine
engine = create_engine(
'postgresql://user:pass@server.com/weatherhist?port=5439',
)
query = """
select *
from rainy_days
where year=’2010’ and day=‘weekend’
"""
df = pandas.read_sql(query, con=engine)
Run Code Online (Sandbox Code Playgroud)
kzt*_*ztd -1
这不是修复,但对我有用的是重建索引:
删除索引
将整个内容导出到 csv:
删除所有行:
从表中删除
将 csv 重新导入
重建索引
熊猫:
df = read_csv(..)
df.to_sql(..)
Run Code Online (Sandbox Code Playgroud)
如果这有效,那么至少您知道索引保持最新状态的某个地方存在问题。
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |