- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个订购的 Pandas Dataframe。
a0 b0 c0 d0 370025442 370020440 370020436 \
1 31/08/2014 First Yorkshire 53 05:10 0 0.8333 1.2167
2 31/08/2014 First Yorkshire 53 07:10 0 0.85 1.15
3 31/08/2014 First Yorkshire 53 07:40 0 0.5167 0.7833
4 31/08/2014 First Yorkshire 53 08:10 0 0.7 1
5 31/08/2014 First Yorkshire 53 08:40 NaN NaN NaN
6 31/08/2014 First Yorkshire 53 09:00 0 0.5 0.7667
7 31/08/2014 First Yorkshire 53 09:20 0 0.5833 1
8 31/08/2014 First Yorkshire 53 09:40 0 0.4 0.7
9 31/08/2014 First Yorkshire 53 10:20 0 0.5333 1.0333
10 31/08/2014 First Yorkshire 53 10:40 0 0.4833 1
11 31/08/2014 First Yorkshire 53 11:00 0 0.3667 0.7
12 31/08/2014 First Yorkshire 53 11:20 0 0.5333 1.15
13 31/08/2014 First Yorkshire 53 11:40 0 0.3333 0.7667
14 31/08/2014 First Yorkshire 53 12:00 0 1.0167 1.5
15 31/08/2014 First Yorkshire 53 12:40 0 0.75 1.0333
.. ... ... .. ... ... ... ...
737 25/10/2014 First Yorkshire 53 21:40 0 1.0167 1.3
738 25/10/2014 First Yorkshire 53 22:40 0 0.5667 1
但是,当我将其转换为 SQL 时,顺序发生了变化(从第 13 行开始)并变为:
a0 b0 c0 d0 370025442 370020440 370020436 \
0 31/08/2014 First Yorkshire 53 05:10 0 0.8333 1.2167
1 31/08/2014 First Yorkshire 53 07:10 0 0.85 1.15
2 31/08/2014 First Yorkshire 53 07:40 0 0.5167 0.7833
3 31/08/2014 First Yorkshire 53 08:10 0 0.7 1
4 31/08/2014 First Yorkshire 53 08:40 None None None
5 31/08/2014 First Yorkshire 53 09:00 0 0.5 0.7667
6 31/08/2014 First Yorkshire 53 09:20 0 0.5833 1
7 31/08/2014 First Yorkshire 53 09:40 0 0.4 0.7
8 31/08/2014 First Yorkshire 53 10:20 0 0.5333 1.0333
9 31/08/2014 First Yorkshire 53 10:40 0 0.4833 1
10 31/08/2014 First Yorkshire 53 11:00 0 0.3667 0.7
11 31/08/2014 First Yorkshire 53 11:20 0 0.5333 1.15
12 31/08/2014 First Yorkshire 53 14:00 0 0.4833 1.0167
13 31/08/2014 First Yorkshire 53 16:20 0 0.6833 1.15
14 31/08/2014 First Yorkshire 53 23:10 None None None
.. ... ... .. ... ... ... ...
736 25/10/2014 First Yorkshire 53 21:40 0 1.0167 1.3
737 25/10/2014 First Yorkshire 53 22:40 0 0.5667 1
数据是正确的,只是更改了行的顺序(从 SQL Server Management Studio 中查看 SQL 表可以确认这一点)。我检查了操作前后的输入表,没有改变,所以顺序问题一定是在转换成SQL的时候。
用于创建 SQL 表的代码是:
engine = sqlalchemy.create_engine("mssql+pyodbc://*server*?driver=SQL+Server+Native+Client+10.0?trusted_connection=yes")
conn = engine.connect()
art_array.to_sql(theartsql, engine, if_exists="replace", index=False)
(实际指定服务器的地方)
可能是什么原因造成的,我该如何解决?任何帮助将不胜感激...
编辑:我应该提到我使用的版本是:
Python 版本:2.7.8
Pandas 版本:0.15.1
SQLalchemy 版本:1.0.12
需要维护这些以与其他软件兼容。
最佳答案
那是正常。 SQL 表不维护行顺序。您需要“订购依据”才能获得正确的订单。在将数据移动到 SQL 之前,您可以包含一个行 ID(或索引)。那么,那么你就可以在Sql中“order by”了。
尝试这样的事情:
df
a
0 1.00
1 2.00
2 0.67
3 1.34
print df.reset_index().to_sql(xxxx)
index a
0 0 1.00
1 1 2.00
2 2 0.67
3 3 1.34
然后在 SQL 中,您可以“按”索引“排序”。“排序”语法可能因 SQL 数据库而异。
关于python - Pandas to_sql 中行的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38703823/
我已经阅读了有关不向数据库添加重复记录的 Pandas to_sql 解决方案。我正在处理日志的 csv 文件,每次我上传一个新的日志文件时,我都会读取数据并使用 Pandas 创建一个新的数据框进行
我正在将PANDAS与SQLAlchemy一起使用DataFrame.to_sql写入MYSQL DB。我喜欢打开'append' --> df.to_sql(con=con, name='table
我有一个看起来像这样的数据框 id_1 id_2 id_3 ... date_1 1 3 4 date_2 4
我想将数据帧写入现有的 sqlite(或 mysql)表,有时数据帧将包含数据库中尚不存在的新列。我需要做什么才能避免抛出错误?有没有办法告诉 pandas 或 sqlalchemy 使用潜在的新列自
我正在尝试使用Django的db连接变量将pandas数据帧插入Postgres数据库。我使用的代码是 df.to_sql('forecast',connection,if_exists='appen
我目前正在尝试稍微调整一些脚本的性能,似乎瓶颈始终是使用 pandas to_sql 函数实际插入数据库(=MSSQL)。 造成这种情况的一个因素是 mssql 的参数限制为 2100。 我与 sql
有人经历过这种情况吗? 我有一个包含“int”和“varchar”列的表 - 一个报告时间表。 我正在尝试使用 python 程序将扩展名为“.xls”的 Excel 文件导入到该表中。我正在使用 p
我正在尝试将 pandas 数据框保存为 SQL 文件 我按照文档进行了尝试 from sqlalchemy import create_engine engine = create_engine('
Panda 的 to_sql() 和 if_exists='replace' 为我的表设置了错误的字符集。为了将多个 csv 复制到 mysql 并忽略行上的错误(如重复错误),我首先将 csv 读取
我有一个如下所示的数据框: df = pd.DataFrame(index= pd.date_range('2014-01-01', periods=10)) df['date'] = df.inde
我正在尝试使用 Pandas to_sql 将 .csv 文件中的数据插入到 mssql 数据库中。不管我怎么看,我都会遇到这个错误: pyodbc.DataError: ('String data,
我想不断将数据帧行添加到 MySQL 数据库中,避免任何重复的条目进入 MySQL。 我目前通过使用 df.apply() 遍历每一行并调用 MySQL insert ignore(duplicate
如何使用 df.to_sql(if_exists = 'append') 仅附加数据框和数据库之间的唯一值。换句话说,我想评估 DF 和 DB 之间的重复项,并在写入数据库之前删除这些重复项。 这个有
我有一个订购的 Pandas Dataframe。 a0 b0 c0 d0 370025442 370020440 370020436
我正在尝试使用 Python 的 pandas to_sql 命令将月度数据发送到 MySQL 数据库。我的程序一次运行一个月的数据,我想将新数据附加到现有数据库中。然而,Python 给我一个错误:
我正在使用 df.to_sql(con=con_mysql, name='testdata', if_exists='replace', flavor='mysql') 将数据框导出到 mysql。但
我有一个 1,000,000 x 50 Pandas DataFrame,我目前正在使用以下方法写入 SQL 表: df.to_sql('my_table', con, index=False) 这需
我有一个字符串格式的数字列,我想将它作为 float 发送到 PostresSQL。如何确保 SQLAlchemy 将此列设置为 float ? (请注意,列中可能是 NaN)。这是代码 import
我想在我创建的表格中插入一些数据。我有一个如下所示的数据框: 我创建了一个表: create table online.ds_attribution_probabilities ( attributi
我正在使用 Pandas 0.18.1,在摆弄这段代码时, import pd def getIndividualDf(item): var1 = [] # ... populate
我是一名优秀的程序员,十分优秀!