我一直在我的桌子上撞到这个,无法弄清楚是否有办法,也许我正在尝试一些不可能的事情.
我有两个DataFrames,包含MultiIndex列(三个级别)和时间索引(单个级别).第一个是这样的:
border a-b c-d
from a b c
to b a d
2009-03-01 -0.778346 -0.928997 NaN
2009-03-02 -1.352559 1.247335 NaN
2009-03-03 -0.967939 0.432638 NaN
2009-03-04 0.786094 -2.209559 NaN
2009-03-05 -0.001338 1.084152 NaN
2009-03-06 1.163334 NaN NaN
2009-03-07 -0.587593 NaN NaN
2009-03-08 0.118469 NaN NaN
2009-03-09 NaN NaN -1.272959
2009-03-10 NaN NaN -1.207129
2009-03-11 NaN NaN 0.244019
Run Code Online (Sandbox Code Playgroud)
对于这个DF,我想添加以下内容:
border a-b
from a
to b
2009-03-09 1.243296
2009-03-10 -0.049870
2009-03-11 1.599999
Run Code Online (Sandbox Code Playgroud)
考虑行和列索引.结果应该是:
border a-b c-d
from a b c
to b …Run Code Online (Sandbox Code Playgroud) 最奇怪的事情正在发生。我正在使用 Python 2.7 32 位中的 pypyodbc 和 pandas.io.sql 连接到 Access DB。以下代码与漂亮的任何表名 (table_name) 完美配合:
var = psql.read_sql("SELECT * FROM table_name;",conn)
Run Code Online (Sandbox Code Playgroud)
除了名为Currency的表。我什至可以调用表Currenc并且代码有效,没问题。一旦我在最后添加y,我就会得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\pandas\io\sql.py", line 421, in read_sql
coerce_float=coerce_float, parse_dates=parse_dates)
File "C:\Python27\lib\site-packages\pandas\io\sql.py", line 1046, in read_sql
cursor = self.execute(*args)
File "C:\Python27\lib\site-packages\pandas\io\sql.py", line 1041, in execute
raise_with_traceback(ex)
File "C:\Python27\lib\site-packages\pandas\io\sql.py", line 1030, in execute
cur.execute(*args)
File "C:\Python27\lib\site-packages\pypyodbc.py", line 1605, in execute
self.execdirect(query_string)
File "C:\Python27\lib\site-packages\pypyodbc.py", line 1631, in …Run Code Online (Sandbox Code Playgroud)