2016-07-20 3 views
1

정의되지 않습니다파이썬은 : 글로벌 이름을 '최대'나는이처럼 보이는 dataframe이

df = pd.DataFrame({'A':[100,300,500,600], 
        'B':[100,200,300,400], 
        'C':[1000,2000,3000,4000], 
        'D':[1,4,5,6], 
        'E':[2,5,2,7]}) 

과를

maximum(df.A,df.B) 

내가 얻을 사용하는 두 개의 컬럼에 인접 쌍 최대 값을 적용 할 때 오류가 발생했습니다

NameError: global name 'maximum' is not defined 

이 오류는 할당되지 않은 변수를 사용할 때만 발생했다는 인상을 받았습니다. 아직. 그러나 최대 기능은 numpy에서 작동해야합니다. 난 그냥

df[['A','B']].apply(max) 

적용 할 수 있습니다 알고 있지만 나는 오류의 원인에 관해서는 걱정. 예약 된 기능 키워드를 정의하지 않았다는 이유로 불만을 표시하는 이유는 무엇입니까?

+1

출력을 어떻게 하시겠습니까? – tom10

답변

4

"np"를 놓쳤습니까? np로 numpy를 가져온 후에도 가능합니다. 여기 내 맥북에서 내 출력은 다음과 같습니다

>>> import numpy as np 
>>> np.maximum(df.A,df.B) 
0 100 
1 300 
2 500 
3 600 
Name: A, dtype: int64 
+1

이것이 OP가 원했던 것 같아요 ... +1 – bernie

1

팬더 대안 :

In [32]: df[['A','B']].max().max() 
Out[32]: 600 

단계별 :

In [31]: df[['A','B']].max() 
Out[31]: 
A 600 
B 400 
dtype: int64 

당신은 행당 최대해야하는 경우 :

In [35]: df[['A','B']].max(axis=1) 
Out[35]: 
0 100 
1 300 
2 500 
3 600 
dtype: int64 
+0

좋은 일! ... +1 – bernie

관련 문제