这是代码段:
test = pd.DataFrame({'days': [0,31,45]})
test['range'] = pd.cut(test.days, [0,30,60])
输出:
days range
0 0 NaN
1 31 (30, 60]
2 45 (30, 60]
我很惊讶0不在(0,30]中,我应该怎么做才能将0归类为(0,30]?
test[‘range’] = pd.cut(test.days, [0,30,60], include_lowest=True)
print (test)
days range
0 0 (-0.001, 30.0]
1 31 (30.0, 60.0]
2 45 (30.0, 60.0]
看区别:
test = pd.DataFrame({'days': [0,20,30,31,45,60]})
test['range1'] = pd.cut(test.days, [0,30,60], include_lowest=True)
#30 value is in [30, 60) group
test['range2'] = pd.cut(test.days, [0,30,60], right=False)
#30 value is in (0, 30] group
test['range3'] = pd.cut(test.days, [0,30,60])
print (test)
days range1 range2 range3
0 0 (-0.001, 30.0] [0, 30) NaN
1 20 (-0.001, 30.0] [0, 30) (0, 30]
2 30 (-0.001, 30.0] [30, 60) (0, 30]
3 31 (30.0, 60.0] [30, 60) (30, 60]
4 45 (30.0, 60.0] [30, 60) (30, 60]
5 60 (30.0, 60.0] NaN (30, 60]
或使用numpy.searchsorted
,但days
hast的值必须排序:
arr = np.array([0,30,60])
test['range1'] = arr.searchsorted(test.days)
test['range2'] = arr.searchsorted(test.days, side='right') - 1
print (test)
days range1 range2
0 0 0 0
1 20 1 0
2 30 1 1
3 31 2 1
4 45 2 1
5 60 2 2
问题内容: 我有 我想为每个运行一些,所以所需的输出如下所示: 这是我尝试的: 和 这是我得到的错误: 问题答案: 您可以调用并传递函数以将该列添加到df中: 关于错误,您无法调用Series groupby对象,其次,您将列名作为无意义的列表传递。 所以这有效:
现在,每次运行脚本时,我都会导入一个相当大的作为数据帧。有没有一个好的解决方案可以让数据帧在运行之间不断可用,这样我就不用花那么多时间等待脚本运行了?
问题内容: 使用以下DataFrame,如何在不让Pandas将移位后的值分配给其他索引值的情况下基于索引来移位“ beyer”列? 生产… 问题在于,佩恩特得到了分配最后一位战士的啤酒。相反,我希望它像这样… 问题答案: 使用应用转移到各组分别:(感谢Jeff指出这个简化) 如果您有一个多索引,则可以通过将一系列或级别名称传递给 参数来对多个级别进行分组。
我正在尝试根据两个数据页中共享的“别名编号”列名合并两个数据页。 以下是我所写的内容:
null 我现在的代码: 此代码返回。我知道这是因为对于表行,我使用的是,默认情况下它在空格上拆分。由于有些列缺少值,因此对于第二个和htird表,表头中的元素数和表行中的元素数不匹配。我正在努力解决这个问题,因为表示缺失值的空格字符的数量对于每个表来说是不同的。 我的问题是:是否有一种方法可以解释某些列中丢失的值,以便在丢失值为null或NaN的情况下获得一个DataFrame作为输出?
问题内容: 我有一个熊pandas据框,其中有一列我想zscore归一化的实数值: 问题在于,单个值将构成所有数组: 将(或不是scipy的等效功能)应用于pandas数据框的列并使其忽略值的正确方法是什么?我希望它与原始列具有相同的尺寸,并且具有无法归一化的值 编辑 :也许最好的解决方案是使用和?我不明白为什么为此需要更改自由度: 问题答案: 井的版本和将到手的,所以你可以只计算这样(得到相同S