RDJ*_*RDJ 4 python dataframe pandas
如果这是重复的道歉,但我似乎无法在pandas docs,SO或google中找到一个有效的例子.
如何返回一列的值大于另一列的值的数据帧?
应该是这样的: df['A'].where(df['A']>df['B'])
但这只返回一个向量.我需要完整的过滤数据帧.
尝试使用 query
df.query('A > B')
Run Code Online (Sandbox Code Playgroud)
考虑 df
np.random.seed([3,1415])
df = pd.DataFrame(np.random.rand(10, 2), columns=list('AB'))
df
Run Code Online (Sandbox Code Playgroud)
选项1
df.query('A > B')
Run Code Online (Sandbox Code Playgroud)
选项2
df[df.A.gt(df.B)]
Run Code Online (Sandbox Code Playgroud)
df['A'].where(df['A']>df['B'])在 pandas 语法中do本质上是一个掩码。而不是where您获取数据帧的子集:
df[df['A'] > df['B']]