Python 如何从数据帧中提取数据并与另一个数据帧连接
我有两个数据帧df和df1。我想连接这两个数据帧并以不同的方式获得输出Python 如何从数据帧中提取数据并与另一个数据帧连接,python,python-3.x,pandas,join,Python,Python 3.x,Pandas,Join,我有两个数据帧df和df1。我想连接这两个数据帧并以不同的方式获得输出 df City Date Wind Temperature London 5/11/2019 14 5 London 6/11/2019 28 6 London 7/11/2019 10 5 Berlin 5/11/2019 23 12 Berlin 6/11/2019 24 12 Berlin 7
df
City Date Wind Temperature
London 5/11/2019 14 5
London 6/11/2019 28 6
London 7/11/2019 10 5
Berlin 5/11/2019 23 12
Berlin 6/11/2019 24 12
Berlin 7/11/2019 16 16
Munich 5/11/2019 12 10
Munich 6/11/2019 33 11
Munich 7/11/2019 44 13
Paris 5/11/2019 27 6
Paris 6/11/2019 16 7
Paris 7/11/2019 14 8
Paris 8/11/2019 10 6
df1
ID City Delivery_Date Provider
1456223 London 7/11/2019 Amazon
1456345 London 6/11/2019 Amazon
2345623 Paris 8/11/2019 Walmart
1287456 Paris 7/11/2019 Amazon
4568971 Munich 7/11/2019 Amazon
3456789 Berlin 6/11/2019 Walmart
输出1
ID City Delivery_Date Wind Temperature
1456223 London 7/11/2019 10 5
1456345 London 6/11/2019 28 6
2345623 Paris 8/11/2019 10 6
1287456 Paris 7/11/2019 14 8
4568971 Munich 7/11/2019 44 13
输出2
此处应显示物品的天气详情,直到达到交货日期
ID City Delivery_Date Wind Temperature
1456223 London 5/11/2019 14 5
1456223 London 6/11/2019 28 6
1456223 London 7/11/2019 10 5
1287456 Paris 5/11/2019 27 6
1287456 Paris 6/11/2019 16 7
1287456 Paris 7/11/2019 14 8
如何做到这一点。如您所述,将DF和DF1视为数据帧
import pandas as pd
output1 = pd.merge(DF1, DF,left_on = ['City','Date'] ,right_on = ['City','Delivery_Date'], how='inner' )
res1 = df1.groupby('City').max() [['Delivery_Date']]
result1 = pd.merge(df,res1, on ='City')
output2 = result1 [result1['Date'] <= result1['Delivery_Date']]
将熊猫作为pd导入
output1=pd.merge(DF1,DF,左上=['City','Date'],右上=['City','Delivery'],how='inner')
res1=df1.groupby('City').max()
result1=pd.merge(df,res1,on='City')
output2=result1[result1['Date']您可以使用df.merge
import pandas as pd
df.merge(df1[['City','Delivery_Date','ID']],left_on = ['City','Date'] ,right_on = ['City','Delivery_Date'],how='inner')
这是否回答了您的问题?您能详细说明输出2的逻辑吗?@kirangadhe,我正试图从df提取该位置特定装运id的所有可飞行天气源,这些数据少于交货日期。例如,`1287456的计划交货日期为2018年11月7日。因此,我想显示11月5日、6日、7日的天气详细信息“余烬”的记录。@ashokeapen请看下面,如果它适合的话you@kirangadhe,我还希望根据id进行分组。例如,2345623您将有4条记录显示11月5日至8日的天气情况,
和'1287456您将有3条记录显示11月5日至7日的天气情况