【发布时间】:2018-03-15 16:58:01
【问题描述】:
这个问题建立在我最近提出的另一个question 之上。我有以下示例数据集:
Year A
1999 1
1999 3
1999 10
1999 11
2000 43
2000 39
2000 22
2000 21
2001 NaN
2001 NaN
2001 NaN
2001 NaN
我运行以下代码并获得ValueError: Bin edges must be unique:
dataset['Bins'] = dataset.groupby('Year')['A'].transform(lambda x: pd.cut(x, 2))
print (dataset)
由于这是按年份分组的,并且2001 包含所有缺失值,因此我理解引发错误的原因。一些建议的解决方案是删除所有重复项,但我想保留所有 NaN。
理想情况下,我应该有一个如下所示的数据集:
Year A Bins
1999 1 (0.99, 6.0]
1999 3 (0.99, 6.0]
1999 10 (6.0, 11.0]
1999 11 (6.0, 11.0]
2000 43 (32.0, 43.0]
2000 39 (32.0, 43.0]
2000 22 (20.978, 32.0]
2000 21 (20.978, 32.0]
2001 NaN NaN
2001 NaN NaN
2001 NaN NaN
2001 NaN NaN
我对@987654327@ 函数不是很熟悉,但是否可以在其中创建一个条件语句来捕获一年中所有值都丢失的情况?
【问题讨论】: