2016-10-08 5 views
1

私は検索して検索しましたが、(インデックス、カラム)でパンダのデータフレームエントリが存在するかどうかを調べる方法が見つかりません。例えばパンダのチェックイン方法(インデックス、カラム)

import pandas 
df = pandas.DataFrame() 

df.ix['apple', 'banana'] = 0.1 
df.ix['apple', 'orange'] = 0.1 
df.ix['kiwi', 'banana'] = 0.2 
df.ix['kiwi', 'orange'] = 0.7 

df 
     banana orange 
apple  0.1  0.1 
kiwi  0.2  0.7 

は、今私は、エントリが

if (["apple", "banana"] in df) 

存在するかどうかをテストしたいが...

if (["apple", "apple"] in df) 
する必要があります

は...あるべき DF [WP]が存在しない場合には失敗した

some loop .. 
    df[wp] += some_value 
    pass 

動作しない以下のため


は実際に私が存在するかどうかをテストしてる理由があります。これは、表現式が

の場合に有効です。なぜなら、pandasは割り当てによって配列を拡張することを考えているからです。

答えて

1

あなたは、インデックスと列に存在するかどうかを確認することができます

('kiwi' in df.index) and ('apple' in df.columns) 

それとも、try/exceptブロックを使用することができます。

try: 
    df.ix['kiwi', 'apple'] += some_value 
except KeyError: 
    df.ix['kiwi', 'apple'] = some_value 

データフレームの形状は、動的であることを意味していない。なお。これにより、操作が大幅に遅くなる可能性があります。だから辞書でこれらのことを行い、最後にそれらをDataFramesに変換する方が良いかもしれません。

関連する問題