2016-07-20 8 views
1

に定義されていない、私はこのようになりますデータフレームがあります。Pythonの:グローバル名「最高」が

maximum(df.A,df.B) 

を使用して、

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]}) 

任意の2つの列にペアワイズ最大値を適用する私が取得割り当てられていなかった変数を使用している場合、このエラーが発生したことだけで私は印象の下にあった

NameError: global name 'maximum' is not defined 

というエラーまだ。ただし、最大関数はnumpyで動作するはずです。私はちょうど適用できることを知っています

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

私はエラーの原因について懸念しています。予約された機能キーワードが定義されていないという不満があるのはなぜですか?

+1

出力をどのようにしたいですか? – tom10

答えて

4

"np"が欠けていましたか? npとしてnumpyをインポートした後でここに私のMacBookからの私の出力は次のとおりです。代替

>>> 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

関連する問題