熊猫数据框加入

时间:2021-03-20 13:25:04

标签: python pandas dataframe

所以,正如您在照片中看到的那样,我有 2 张桌子2 tables! 所以第一个表包含关于住宿的信息,第二个包含每个住宿的信息,它有 365 天,如果住宿可用与否,价格是多少等。所以,我在第二个表中有一个外键 ID 换句话说。

所以我想知道如何连接这两个表以处理共享数据:例如随着时间的推移每个社区的价格。 附言第一个表长 9000 行,另一个表长 350 万行。

1 个答案:

答案 0 :(得分:0)

在 Pandas 中 - 比 SQL 更容易操作。

我建议阅读 - 以了解概念:https://pandas.pydata.org/docs/getting_started/intro_tutorials/08_combine_dataframes.html

首先 - 如果 9 000 - 3 500 000 行 - 比您只能对 9 000 个数据进行操作 - 其余的将为空。

然而 - 严格编码:

试着理解这 4 种数据操作:https://stackoverflow.com/a/51436106/9455902

我想在这种情况下你需要 .join - 有这样的东西:


id |邻里_组|邻里|纬度|经度|价格+listingId |日期 |可用|


在一个表中,所以您需要将listingId、date和available加入第一个数据集 - 基于外键 - 在这种情况下是价格? __

示例如下:

import pandas as pd
left = pd.DataFrame({
   'id':[1,2,3,4,5],
   'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
   'subject_id':['sub1','sub2','sub4','sub6','sub5']})
right = pd.DataFrame({
    'id':[1,2,3,4,5],
   'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
   'subject_id':['sub2','sub4','sub3','sub6','sub5']})
print pd.merge(left,right,on='id')

enter image description here

merge 将列从一个数据集合并到第二个数据集。


解决方案:

df1.merge(df2,on='columnName',how='left')

我认为价格是您的外键