我有以下pandas dataframe作为df,我想查询df['item']
的每一行,这些行将从SQL Server数据库返回相应的item_description
,并用列“id”、“qty”、“item”、“item”填充df
| id | qty | item |
+-----+------+------+
| 001 | 700 | CB04 |
| 002 | 500 | |
| 003 | 1500 | AB01 |
我在做以下事情:
^{pr2}$并以df的形式返回
pd.read_sql_query(query, cnxn)
结果:
| item_description |
+------------------+
| apple |
| orange |
我计划将两个df连接在一起,这样做可能行不通,因为df的第二行有一个空值,而我的查询只返回了两行。在
有没有更有效的方法来做这件事。在
将SQL查询更改为同时返回item和item_description列,以便为您提供如下数据帧:
然后有一个公共列,可以使用
^{pr2}$merge
函数连接两个数据帧:我们可以省略
on
参数,因为每个数据帧中只有一列具有相同的名称,pandas会发现这是它们应该连接的地方。但是how
参数对于保留第一个数据帧(left-大多数参数到merge
)中的第二个数据帧中没有相应行的任何行是必需的。结果是:您可以在pandas documentation中阅读有关合并的更多信息。在
相关问题 更多 >
编程相关推荐