相关疑难解决方法(0)

使用pandas选择以多个等价物为条件的行

我有一个pandas df,并想在这些方面完成一些事情(用SQL术语):

SELECT * FROM df WHERE column1 = 'a' OR column2 = 'b' OR column3 = 'c' etc.
Run Code Online (Sandbox Code Playgroud)

现在这适用于一个列/值对:

foo = df.loc[df['column']==value]
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何将其扩展为多个列/值对

python pandas

53
推荐指数
3
解决办法
11万
查看次数

过滤分组的 pandas 数据框,保留列中具有最小值的所有行

df = pd.DataFrame([['SAM', 23, 1],
                   ['SAM', 23, 2],
                   ['SAM', 23, 1],
                   ['SAM', 23, 3],
                   ['BILL', 36, 1],
                   ['BILL', 36, 2],
                   ['BILL', 36, 3],
                   ['BILL', 36, 1],
                   ['JIMMY', 33, 4],
                   ['JIMMY', 33, 2],
                   ['JIMMY', 33, 2],
                   ['JIMMY', 33, 3],
                   ['CARTER', 25, 3],
                   ['CARTER', 25, 4],
                   ['CARTER', 25, 5],
                   ['CARTER', 25, 4],
                   ['GRACE', 27, 4],
                   ['GRACE', 27, 5],
                   ['GRACE', 27, 6],
                   ['TOMMY', 32, 7]])
df.columns = ['A', 'B', 'C']
Run Code Online (Sandbox Code Playgroud)

我需要将具有按“A”列分组的“C”列最小值的所有行保留在数据框中,并保持 B 不变。这里有几乎相同的主题 ,但如果我使用

df.loc[df.groupby('A').C.idxmin()]
Run Code Online (Sandbox Code Playgroud)

只剩下最少一行,而我需要全部。预期结果:

预期结果的图像

python pandas pandas-groupby

1
推荐指数
1
解决办法
898
查看次数

标签 统计

pandas ×2

python ×2

pandas-groupby ×1