[英]How to retrieve changed values of previous rows while within apply at pandas?
[英]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.