簡體   English   中英

如何識別組內已更改的值-熊貓

[英]How to identify changed values within group - pandas

是否存在一種簡單的方法來標識熊貓數據框中的組,其中某個組的列的值已更改(或者該組的特定列具有多個值)?

因此,對於下面的兩家公司A和B,我想知道隨着時間的推移,哪家公司已轉為其他狀態。 (提示,公司A從NC轉移到SC)。

-------------------
 Yr | Company| ST |  
-------------------
 1  | A      | NC |
 2  | A      | NC |
 3  | A      | SC |
 4  | A      | SC |
 1  | B      | AK |
 2  | B      | AK |
 3  | B      | AK |
------------------

理想情況下,我希望熊貓創建一個在公司搬遷后顯示“ Y”的列:

---------------------------
 Yr | Company| ST |Changed|
---------------------------
 1  | A      | NC |    Y
 2  | A      | NC |    Y
 3  | A      | SC |    Y
 4  | A      | SC |    Y
 1  | B      | AK |    N
 2  | B      | AK |    N
 3  | B      | AK |    N
---------------------------

使用數字很容易,因為組中的均值將不同於任何組值。 但是用文字很難...。

nunique使用transform

df.groupby('Company').ST.transform('nunique').ne(1).map({True:'Y',False:'N'})
Out[418]: 
0    Y
1    Y
2    Y
3    Y
4    N
5    N
6    N
Name: ST, dtype: object
#df['Change']=df.groupby('Company').ST.transform('nunique').ne(1).map({True:'Y',False:'N'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM