'조정 됨'이라는 전체 데이터 프레임이 있습니다. 'fyear'및 'conm'에 새로운 값 조건이있는 열 '스테이지'를 추가하고 싶습니다.pandas dataframe 다른 열 값에 여러 조건을 사용하여 값이있는 열을 추가합니다.
fyear conm indadjsg
1 1999 1-800-FLOWERS.COM 26.646086
2 2000 1-800-FLOWERS.COM 22.727175
3 2001 1-800-FLOWERS.COM 7.312014
4 2002 1-800-FLOWERS.COM 4.948308
5 2003 1-800-FLOWERS.COM 6.278798
23 1996 ABERCROMBIE & FITCH -CL A 34.831691
24 1997 ABERCROMBIE & FITCH -CL A 48.053137
25 1998 ABERCROMBIE & FITCH -CL A 48.918326
26 1999 ABERCROMBIE & FITCH -CL A 46.956456
27 2000 ABERCROMBIE & FITCH -CL A 33.91436
28 2001 ABERCROMBIE & FITCH -CL A 67.23423
29 2002 ABERCROMBIE & FITCH -CL A 99.09342
11929 2006 CLIFTON BANCORP INC 0.236418
11930 2007 CLIFTON BANCORP INC -1.366626
11931 2008 CLIFTON BANCORP INC 8.564019
11932 2009 CLIFTON BANCORP INC -4.966110
11933 2010 CLIFTON BANCORP INC -4.359552
11934 2011 CLIFTON BANCORP INC -16.313852
11935 2012 CLIFTON BANCORP INC -18.193550
11936 2013 CLIFTON BANCORP INC -10.126603
11937 2014 CLIFTON BANCORP INC 4.718584
11938 2015 CLIFTON BANCORP INC -11.889065
11940 2015 CLIPPER REALTY INC 70.945767
11941 2016 CLIPPER REALTY INC 3.776001
11980 2014 CM FINANCE INC 205.894048
11981 2015 CM FINANCE INC 68.518555
121247 2009 VCA INC -5.552030
121248 2010 VCA INC -3.357275
121249 2011 VCA INC -0.930798
121250 2012 VCA INC 5.974914
121256 2007 VIASPACE INC -50.966869
121257 2008 VIASPACE INC 149.957403
121258 2009 VIASPACE INC 197.776855
121259 2010 VIASPACE INC -25.201733
121260 2011 VIASPACE INC 77.082624
121261 2012 VIASPACE INC 78.034233
121266 2005 YASHENG GROUP -3.728098
121267 2006 YASHENG GROUP -2.233927
121268 2007 YASHENG GROUP 0.349349
121279 2009 YUHE INTERNATIONAL INC 27.995324
121280 2010 YUHE INTERNATIONAL INC 34.375630
1) 나는 회사 고유의 fyear의 수가 나머지, 나는 채우기 후 상태를 '시작')와 동일하거나
2 미만 5
byyr = adjusted.groupby(by=['conm'])['fyear']
dfbyyr =byyr.count().to_frame()
start = dfbyyr[dfbyyr['fyear'] <= 5]
fyear
conm
1-800-FLOWERS.COM 5
ABERCROMBIE & FITCH -CL A 7
CLIFTON BANCORP INC 10
CLIPPER REALTY INC 2
CM FINANCE INC 2
VCA INC 4
VIASPACE INC 6
YASHENG GROUP 3
YUHE INTERNATIONAL INC 2
경우 채우기 '시작'할 데이터 중 다른 값을 채우고 싶습니다. 나는 유일한 회사의 평균 indadjsg를 계산했다.
mask2 = adjusted.groupby(by=['conm'])['indadjsg']
countsg = mask2.mean().to_frame().reset_index()
c = countsg.dropna()
데이터 프레임 'C'
conm indadjsg
0 1-800-FLOWERS.COM 3.291539
1 ABERCROMBIE & FITCH -CL A 105.335324
2 CLIFTON BANCORP INC 22.920683
3 CLIPPER REALTY INC 36.784677
4 CM FINANCE INC 1.605919
5 VCA INC 3.116871
6 VIASPACE INC -106.153789
7 YASHENG GROUP -2.676296
8 YUHE INTERNATIONAL INC 12.306557
내가 부여 할 조건은 다음과 같습니다 : 내가 만들고 싶어
indadjsg < 0, 'decline'
0 <= indadjsg <= 15, 'revival'
15< indadjsg <= 100, 'mature'
100< indajsg , 'growth'
최종 데이터 프레임이
fyear conm indadjsg stage
1 1999 1-800-FLOWERS.COM 26.646086 start
2 2000 1-800-FLOWERS.COM 22.727175 start
3 2001 1-800-FLOWERS.COM 7.312014 start
4 2002 1-800-FLOWERS.COM 4.948308 start
5 2003 1-800-FLOWERS.COM 6.278798 start
23 1996 ABERCROMBIE & FITCH -CL A 34.831691 growth
24 1997 ABERCROMBIE & FITCH -CL A 48.053137 growth
25 1998 ABERCROMBIE & FITCH -CL A 48.918326 growth
26 1999 ABERCROMBIE & FITCH -CL A 46.956456 growth
27 2000 ABERCROMBIE & FITCH -CL A 33.91436 growth
28 2001 ABERCROMBIE & FITCH -CL A 67.23423 growth
29 2002 ABERCROMBIE & FITCH -CL A 99.09342 growth
11929 2006 CLIFTON BANCORP INC 0.236418 mature
11930 2007 CLIFTON BANCORP INC -1.366626 mature
11931 2008 CLIFTON BANCORP INC 8.564019 mature
11932 2009 CLIFTON BANCORP INC -4.966110 mature
11933 2010 CLIFTON BANCORP INC -4.359552 mature
11934 2011 CLIFTON BANCORP INC -16.313852 mature
11935 2012 CLIFTON BANCORP INC -18.193550 mature
11936 2013 CLIFTON BANCORP INC -10.126603 mature
11937 2014 CLIFTON BANCORP INC 4.718584 mature
11938 2015 CLIFTON BANCORP INC -11.889065 mature
11940 2015 CLIPPER REALTY INC 70.945767 start
11941 2016 CLIPPER REALTY INC 3.776001 start
11980 2014 CM FINANCE INC 205.894048 start
11981 2015 CM FINANCE INC 68.518555 start
121247 2009 VCA INC -5.552030 start
121248 2010 VCA INC -3.357275 start
121249 2011 VCA INC -0.930798 start
121250 2012 VCA INC 5.974914 start
121256 2007 VIASPACE INC -50.966869 decline
121257 2008 VIASPACE INC 149.957403 decline
121258 2009 VIASPACE INC 197.776855 decline
121259 2010 VIASPACE INC -25.201733 decline
121260 2011 VIASPACE INC 77.082624 decline
121261 2012 VIASPACE INC 78.034233 decline
121266 2005 YASHENG GROUP -3.728098 start
121267 2006 YASHENG GROUP -2.233927 start
121268 2007 YASHENG GROUP 0.349349 start
121279 2009 YUHE INTERNATIONAL INC 27.995324 start
121280 2010 YUHE INTERNATIONAL INC 34.375630 start
같다
O에서 할 수있는 방법이 있습니까? nce? 나는 별도의 열을 만들고 병합하는 것을 생각할 수 있습니다. 효율적으로 생각하는 것을 도와 줄 수 있습니까? 미리 감사드립니다.
중복 응답, @unutbu 죄송와 나는 동시에 대답하여 우리의 응답은 동일한 솔루션으로 약간 다른 경로를 사용합니다. –
사과 할 필요가 없습니다. 대체 방법을 보는 것은 매우 유용 할 수 있습니다. – unutbu