2016-05-09 6 views
0

Dataframeをループし、 'GROUP_NAME'列を 'REG'でnullに更新しようとしています。DataFrameを反復し、nullの場合は列を値で更新します。

for index, row in trax_df.iterrows(): 
    if row['GROUP_NAME']==None: 
     trax_df.loc[index, trax_df['GROUP_NAME']] = 'REG' 

Iは、上記のコードを使用し、それがトレースバックを与えないが、それは「GROUP_NAME」がNullである「REG」とのいずれかの値を更新しません。私はここで何が欠けていますか?

EDIT:

それは、将来の発展を考慮するためにループにする必要があり、最終的に私は、別の列のうちの数字を抽出columnBそれを呼び出す、と「REG」で数字を連結する必要があります。したがって、データフレームからインデックスを取得する必要があると私は信じています。

データにNaNがあります。

答えて

0

はこれを試してみてください。

trax_df.loc[trax_df.GROUP_NAME.replace('', np.nan).isnull(), 'GROUP_NAME'] = 'REG' 

これは、あなたがNaNを持っていない場合は、単にこれを行うことができ、空の文字列とNaNを

の両方が含まれます:それはなし

trax_df.loc[trax_df.GROUP_NAME== '', 'GROUP_NAME'] = 'REG' 
0

ではありませんが、または空の文字列ですか?

trax_df.loc[(trax_df.GROUP_NAME.isnull() | (trax_df.GROUP_NAME = ''), 'GROUP_NAME'] = 'REG' 
関連する問題