表1
S.No BusNo Timings People
1 1234 3:05 pm 55
2 3456 3:30 pm 45
3 8945 3:45 pm 50
Table 2
BusNo Model
1234 Leyland
3456 Viking
使用 pandas 加入此表作为条件:busno model people counts for people between 50 and 55 and group by model
预期输出:
表3
S.No BusNo Timings People Model
1 1234 3:05 pm 55 Leyland
3 8945 3:45 pm 50 Nan
最佳答案
您可以对这两个数据帧进行简单的合并,并在 loc
内进行简单的条件检查,以获得所需的输出,如下所示。
df = pd.DataFrame()
df['S.No'] = [1, 2, 3]
df['BusNo'] = [1234, 3456, 8945]
df['Timings'] = ['3:05 pm', '3:30 pm', '3:45 pm']
df['People'] = [55, 45, 50]
df_ = pd.DataFrame()
df_['BusNo'] = [1234, 8945]
df_['Model'] = ['Leyland', 'viking']
merged = pd.merge(df, df_, on='BusNo', how='outer')
merged.loc[(merged['People'] >= 50) & (merged['People'] <= 55), :]
关于python-3.x - 在python pandas中,如何使用where条件使用外连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51530816/