【发布时间】:2022-01-26 16:11:04
【问题描述】:
我正在处理 Medical Data Visualizer 挑战,我正在根据某些条件重新分配 DataFrame 值,如下所示:
df['cholesterol'].loc[df['cholesterol'] == 1] = 0 #normalizing cholestrol values
df['cholesterol'].loc[df['cholesterol'] > 1] = 1 #normalizing cholestrol values
它似乎有效,但是,我也在使用 Jupyter Notebooks,当我使用此代码加载片段时,我收到以下警告:
/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py:670: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
现在,即使它有效,我想知道这是否是最好的方法(最佳实践)或者我应该重新分配这些值的其他方法。
寻找关于此主题的最佳做法,以免导致未来出现错误。
谢谢
编辑:
id age gender height weight ap_hi ap_lo cholesterol gluc smoke alco active cardio
0 18393 2 168 62.0 110 80 1 1 0 0 1 0
1 20228 1 156 85.0 140 90 3 1 0 0 1 1
2 18857 1 165 64.0 130 70 3 1 0 0 0 1
3 17623 2 169 82.0 150 100 1 1 0 0 1 1
4 17474 1 156 56.0 100 60 1 1 0 0 0 0
【问题讨论】:
-
但我的目标不是创建副本,只是更改满足这些条件的原始数据框单元格。