小编use*_*225的帖子

Pandas左外连接多个列上的多个数据帧

我是使用DataFrame的新手,我想知道如何在一系列表的多个列上执行左外连接的SQL等价物

例:

df1: 
Year    Week    Colour    Val1 
2014       A       Red      50
2014       B       Red      60
2014       B     Black      70
2014       C       Red      10
2014       D     Green      20

df2:
Year    Week    Colour    Val2
2014       A     Black      30
2014       B     Black     100
2014       C     Green      50
2014       C       Red      20
2014       D       Red      40

df3:
Year    Week    Colour    Val3
2013       B       Red      60
2013       C     Black      80
2013       B     Black      10
2013       D     Green      20
2013       D       Red      50
Run Code Online (Sandbox Code Playgroud)

基本上我想做类似这样的SQL代码(注意df3没有加入Year):

SELECT df1.*, …
Run Code Online (Sandbox Code Playgroud)

python sql merge pandas

55
推荐指数
2
解决办法
10万
查看次数

如何使用Pandas Write_Frame将结果导出到cx_Oracle中的Oracle数据库

我正在尝试将Pandas DataFrame导出到Oracle数据库.我在Pandas中遇到过Write_Frame函数,听起来就像我需要的那样.

但是,我在网上进行了大量的搜索,但却无法让它发挥作用.我已经导入了cx_Oracle并且可以连接到Oracle数据库以及运行SQL查询而没有任何问题,但是当我运行它时它给了我一个' NotImplementedError ':

import pandas.io.sql as psql

 output = psql.write_frame(MyResults, name = 'MySchema.MyTable', con = MyCon, 
                           flavor = 'oracle', if_exists = 'replace')
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经在sqlite和mysql上看到了很多关于wrtie_frame的例子,那么这是否意味着如果flavor ='oracle'它将不起作用?我已经尝试将味道改为mysql,但它给我一个错误,说"无效的SQL语句"

任何人都可以帮我解决这个问题,因为我不想将结果写入CSV文件然后导出到数据库表吗?

谢谢

python sql oracle cx-oracle pandas

7
推荐指数
1
解决办法
4449
查看次数

使用 Python Pandas 将参数传递给 SQL CTE

我正在使用 pandas.io.sql 执行包含 CTE 的 SQL 脚本,并希望执行以下操作:

import pandas.io.sql as psql
param1 = 'park'
param2 = 'zoo'

sqlstr = ("""WITH CTE_A AS (    
                          SELECT * 
                          FROM A 
                          WHERE A.Location = param1),
                  CTE_B AS (
                            SELECT * 
                            FROM B 
                            WHERE B.Location = param2)
            SELECT A.*, B.*
            FROM C
            INNER JOIN A
            ON C.something = A.something
            INNER JOIN B
            ON C.something = B.something 
            WHERE C.combined = param1 || param2
            )
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情

    result = psql.frame_query(sqlstr, con = db, params = (param1,param2))
Run Code Online (Sandbox Code Playgroud)

有人可以帮我使用 Pandas …

python sql common-table-expression pandas

5
推荐指数
1
解决办法
3796
查看次数

从Oracle调用Python

是否可以在Oracle过程中调用Python?我已经读了很多有关相反情况的文献(从Python调用Oracle SQL),但反之则没有。

我想做的是让Oracle产生一个数据库表,然后我想调用Python并将该数据库表传递给DataFrame中的数据表,以便我可以使用Python对它做一些事情并产生结果。在Oracle过程中,我可能需要多次调用Python。有谁知道这是否可行以及如何做到?

python sql oracle cx-oracle pandas

5
推荐指数
3
解决办法
6094
查看次数