55796


house
pricesのcsvで、lotfrontageが欠損しており、Lotshapeがregの時にLotAreaの平方根値を代入したく以下のコードを入れたのですが、動きませんでした。

[code]

    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea'])
    
[/code]

エラーコードは以下です。

[code]

    ValueError: cannot reindex from a duplicate axis
    
[/code]

よろしくおねがいします。


CC BY-SA 4.0
2019-06-14T11:35:08.307
55785
2019-06-15T07:13:02.590
2019-06-14T11:44:50.127
19110
29536
question
python pandas
pandasで条件を満たした列に、条件を満たした行の値を代入する


**インデックスが重複している** のでしょう。よくあるエラーです。  
以下の内、どれかが動くと思うので試してみてください。

[code]

    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea'].values())
    
    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea'].values)
    
    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea'].values())
    
    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea']).values()
    
    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea'].values())
    
    all_data.loc[(all_data['LotFrontage'].isnull()) & (all_data['LotShape'] == 'Reg'),'LotFrontage'] = np.sqrt(all_data['LotArea']).values
    
[/code]


CC BY-SA 4.0
2019-06-15T02:35:41.973
55796
2019-06-15T07:13:02.590
2019-06-15T07:13:02.590
3060
34729
55785
answer