繁体   English   中英

使用来自另一个 dataframe 的具有特定列值的行创建一个新的数据框

[英]create a new dataframes with rows from another dataframe with specific columns values

我想从现有的 dataframe 创建一个新的 pandas dataframe,其中只有特定列值大于 x 的行。 例如:

df =   A B C
     0 1 0 2
     1 2 1 3
     2 3 3 0
     3 4 2 5

我想只使用列 B 和 C 的值大于 0 的行创建 new_df

new_df =  A B C
        0 2 1 3
        1 4 2 5

我使用了命令:

new_df = df.loc[df['B'] > 0 & df['C'] > 0]

但它不起作用

你几乎拥有它。 使用括号括起来条件:

new_df = df.loc[(df['B'] > 0) & (df['C'] > 0)]

二元运算符&| 优先于平等/不平等。 所以你所做的相当于:

new_df = df.loc[(df['B'] > (0 & df['C'])) > 0]

你可以使用这个:

df[(df[['B', 'C']] > 0).all(axis=1)]

Output:

   A  B  C
1  2  1  3
3  4  2  5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM