2017-05-17 6 views
1

私はJupyterノートブックを使用しています(これが適切かどうかはわかりません)、なぜPandasがSettingWithCopyWarningを投げているのですか?ここでパンダ設定WimCopyWarningのみ機能でスローされました

私のコードの最初のバージョンである:

def read_in_yearly_data(file_name): 
    print('\t%s' % file_name) 

    df = pd.read_csv('../' + file_name + '.csv', header=None) 

    # Drop the first 4 columns, and set names of the remaining 4 columns 
    for i in range(4): 
     del df[i] 

    df.columns = ['Part_Name', 'Date', 'Description', 'Units'] 

    return df 

yearly_data = [] 
for year in ['09', '10', '11']: 
    yearly_data.append(read_in_yearly_data('20' + year + ' data')) 

all_data = pd.concat(yearly_data, axis=0, join='outer') 

parts_to_exclude = misc.PART_NAMES 
all_data = all_data.query('Part not in @parts_to_exclude') 

all_data['Units'] = all_data['Units'].apply(lambda x: hf.to_int(x)) 

そして第二版(関数内のコードをラップ):

def read_in_yearly_data(file_name): 
    print('\t%s' % file_name) 

    df = pd.read_csv('../' + file_name + '.csv', header=None) 

    # Drop the first 4 columns, and set names of the remaining 4 columns 
    for i in range(4): 
     del df[i] 

    df.columns = ['Part_Name', 'Date', 'Description', 'Units'] 

    return df 

def myfunc(): 
    yearly_data = [] 
    for year in ['09', '10', '11']: 
     yearly_data.append(read_in_yearly_data('20' + year + ' data')) 

    all_data = pd.concat(yearly_data, axis=0, join='outer') 

    parts_to_exclude = misc.PART_NAMES 
    all_data = all_data.query('Part not in @parts_to_exclude') 

    all_data['Units'] = all_data['Units'].apply(lambda x: hf.to_int(x)) 

my_func() 

コールhf.to_int(x)は「単位」と変換を取りますそれは整数になります(ユニットのいくつかは文字列として格納され、 '2000.0'のようにカンマを持っています)。

最初のバージョンのコードでは、 dバージョンがあります。

はしても何も変わらない第二のバージョンで

all_data.loc[:, 'Units'] = all_data['Units'].apply(lambda x: hf.to_int(x)) 

に最後の行を変更し、私は理由を理解するのに苦労しています。

答えて

0

エラーはあなたが

all_data = all_data.query('Part not in @parts_to_exclude') 

に変更すると離れて行く必要があります。

all_data = all_data.query('Part not in @parts_to_exclude').copy() 

私はまだ明確ではないよ、それが機能しないとき、それはあなたにエラーを与えていない理由。

関連する問題