0
我已經在Python 3 Jupyter筆記本中讀取了一張調查響應的Excel表格,並希望刪除個人在某個特定程序中的行。所以我使用.loc從dataframe'df'分到了一個新的數據框'dfgeneral'。如何子集數據框並解決Python中的SettingWithCopy警告?
notnurse = df['Program Code'] != 'NSG'
dfgeneral = df.loc[notnurse,:]
我再想(即滿意,不滿意)到標籤映射到被用來表示它們的代碼,並找到的受訪者是誰給了每個響應的數量。幾個問題使用相同的比例,所以我通過他們循環:
q5list = ['Q5_1','Q5_2','Q5_3','Q5_4','Q5_5','Q5_6']
scale5_dict = {1:'Very satisfied',2:'Satisfied',3:'Neutral',
4:'Somewhat dissatisfied',5:'Not satisfied at all',
np.NaN:'No Response'}
for i in q5list:
dfgeneral[i] = df[i].map(scale5_dict)
print(dfgeneral[i].value_counts(dropna=False))
在輸出中,我得到了SettingWithCopy警告:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
我用的.loc創建dfgeneral;這是一個誤報,還是我應該做出什麼改變?感謝您的幫助。