【发布时间】:2019-02-25 05:33:45
【问题描述】:
我有一个 DataFrame 如下:
col1 num agg_col
12 200 0
13 300 0
14 400 0
15 500 0
16 600 0
17 700 0
我正在尝试根据 col1 中的值填充 agg_col。
例如,如果 col1 为 12 - 14,则在 agg_col、15-16、
上填充 1
在 agg_col 上填充 2。如果 col1 = 17,则填充 3。
我写了以下python代码:
df['agg_col'][(df['col1'] >= 12) & (df['col1'] <= 14)] = 1
但我被困在这里,无法继续。请帮忙!!!
【问题讨论】:
-
试图找到一个更受欢迎的重复项,但基本上你想使用
np.select来定义条件列表和另一个用于选择的列表。或pd.cut,如果它是一组连续的垃圾箱。 See this -
@ALollz...非常感谢!!!
-
你得到的错误是什么?当我尝试时,这句话似乎对我很有效。
-
@thegreatcoder......SettingWithCopyWarning:试图在数据帧的切片副本上设置值。尝试使用 .loc[row_indexer,col_indexer] = value 代替。这是警告!!!
标签: python-3.x pandas data-cleaning