![](/img/trans.png)
[英]Turn correlating rows values from positive to negative pandas dataframe
[英]how to find rows with both positive and negative values in pandas dataframe
我有一個這樣的數據框:
e_col in_col word_col w_col
31 9 algorithm -0.053538
31 9 ubc -0.053578
31 9 kth -0.053595
31 8 ubc -0.053633
30 8 algorithm 0.043637
30 7 dale 0.053648
28 6 dale 0.053671
我想在word_col
找到同一word_col
同時具有正值和負值的w_col
。
因此,例如,這里的輸出將是:
31 9 algorithm -0.053538
30 8 algorithm 0.043637
編輯2 :您還可以使用transform
避免set_index/reset_index
,如下所示:
m = df.w_col.lt(0).groupby(df.word_col).transform('nunique').eq(2)
df.loc[m]
Out[2768]:
e_col in_col word_col w_col
0 31 9 algorithm -0.053538
4 30 8 algorithm 0.043637
編輯1 :創建m
一種較短方法是使用nunique()
,如下所示:
m = df.w_col.lt(0).groupby(df.word_col).nunique().eq(2)
原件 :
請執行下列操作:上創建布爾面具w_col
小於0
和groupby
通過它word_col
。 接下來,在每個組上調用unique
並找到len
= 2的任何組。將此掩碼用作在df.set_index
和reset_index
上建立索引的掩碼。
m = df.w_col.lt(0).groupby(df.word_col).unique().str.len().eq(2)
df.set_index('word_col').loc[m].reset_index()
Out[2738]:
word_col e_col in_col w_col
0 algorithm 31 9 -0.053538
1 algorithm 30 8 0.043637
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.