这是在python2中完成的,我使用的是Pandas。虽然我很想用SQL来实现这一点,这可能会让我的生活更轻松,但这不是一个选择
我有两个数据帧,x和y。Dataframe x有一列“BuyerNames”,y有一列“Buyers”,它们都包含一列“Section”,以及其他共享列。“x(买方名称)”和“y(买方名称)”中的条目属于同一组,共享列中的数据通常是一致的。 我想创建一个数据帧,它是y的子集,称为y*,这样,对于具有相应索引的行,“BuyerNames”的值等于“Buyers”的值。此数据帧的长度相同,不满足此条件的条目包含NaN条目
我正在创建第三个数据帧z,它具有x和y列的并集。我的最后一个目标是用y中包含的'Section'的条目填充z,保留索引
我对数据库非常陌生,因此对可能非常简单的内容的描述可能非常混乱。如何有效地实现这一点?目前有一个解决方案在Python中使用for循环,它非常慢而且不可伸缩。很遗憾,我无法发布代码
您是正确的,因为这是为单行sqlite查询设计的问题:
……但在熊猫身上也有可能。在我看来,最简单的方法是生成两个独立的数据帧,每个数据库一个。然后使用“concat”功能合并两个数据帧The documentation对选项有很好的描述
我可以想象一下你们的桌子,但我对结构不太清楚。如果你仔细阅读这些例子,找出哪一个与你的问题相匹配,那就最好了,我可以进一步帮助你。也许concat不是最好的方法;还有一个join命令
至于最后一步,我不确定您计划为新数据库使用哪个API,因此很难就如何填充新表给出具体的指导。熊猫当然有能力send sql,但我不知道any way to create a new tableWhat would work best is sqlalchemy,但如果你不熟悉ORM或数据库,它有一个学习曲线
编辑:由于您无法提供数据,下面是一个虚构的join命令示例。这应该非常快,没有原始sql那么快,但肯定比for循环快。首先,虚拟数据: 你知道吗
熊猫命令:
相关问题 更多 >
编程相关推荐