python-3.x - 在python pandas中,如何使用where条件使用外连接?

标签 python-3.x pandas

表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/

相关文章:

python - Pandas 数据帧,ValueError : shape mismatch: objects cannot be broadcast to a single shape

python - 使用 pandasplot() 时出现意外振荡

python - 我是否必须在 python 中重新加载模块才能捕获更改?

python - Python 中可变数量的可预测 for 循环

python-3.x - Python3 中使用 Gtk 和 XLib 的全局热键

python - pandas : pandas. io.common.CParserError 错误:标记数据时出错

python - 合并相同的数据框,以便将每一行与其他每一行进行比较

python - 使用成对后进先出方法作为条件创建 DataFrame 列

python-3.x - 当特定列值连续一定数量的行时如何获取行

python - 组内加权 zscore