列包含以下数据(数据已按该列的降序排序)。此列中有两百万条记录,其中大约一百万条记录为零。此列的分布如下所示 Column Distribution
min 0
mean 4.199
25% 0
50% 0
75% 0
max 1.400000 因此,在降序排序后,基本上只有前25%的数据。我想为下面的数据创建等大小的存储箱,删除零并仅在列值大于>0的情况下对数据进行存储 enter code here
Column
1400000
97000
79000
43000
28000
11000
... so on
0
0
0
0
0
0
0 我只想把column_values >
我的数据如下:
spread CPB% Bin
0 0.00000787 0.001270648030495552731893265565 B
1 0.00000785 0.003821656050955414012738853503 A
2 0.00000749 0.005821656050955414012738853503 C
3 0.00000788 0.004821656050955414012738853503 B
因此,我基本上按照它们的价差值分配了一个字母A、
我想将pandas qcut应用于滚动窗口。我不确定如何去做this...idea,就是花上20天,找到落在上四分位数中的值,找出上四分位数中值的平均值。并返回该滚动时间序列的平均值。 所以如果我有 s = pd.Series([5,6,10,12,13,13,20,21,22])
s.rolling(2,2).apply(lambda x: pd.qcut(x,5)) 这会导致 0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
dtype: float64 如何获得每个时间序列的qcut间隔?谢谢
我正在尝试对pandas数据帧执行groupby,并在该groupby上执行qcut,以对分位数上的值进行分类。问题是有些组只有一个值,所以qcut用ValueError: Bin edges must be unique抱怨。有没有一种方法可以直接忽略groupby和qcut上的这些情况?
我正在做类似这样的事情
df['quantile'] = df.groupby(['grouping'])['values'].transform(
lambda x: pd.qcut(x, 4))
我可以在两个级别的分组上
我有一个数据框架,我想根据四分位变量分配一个四分位数,这给了我以后在for中使用的范围。问题是,它不是仅仅更改四分位数,而是创建n(数据帧的连)行,然后使用行号作为循环。
quartile = numpy.quantile(pivot['AHT'], [0.25,0.5,0.75])
pivot['Quartile'] = 0
for i in range(0,len(pivot)-1):
if i <= quartile[0]:
pivot.loc[i,'Quartile'] = 1
elif i <=
我有一个名为stroke_data_complete的数据框架,其中我们使用以下代码对变量进行绑定; #Cut into 4 bins of equal frequency counts
stroke_data_complete['glucose_level_quartile'] = pd.qcut(stroke_data_complete['avg_glucose_level'], q=4)
stroke_data_complete['glucose_level_quartile'].value_counts(); 当我检查这个新列的数据类型
这些值正在被替换,但是当我打印data时,它仍然显示nan值。
for col in data.columns:
for each in range(len(data[col])):
if math.isnan(data[col][each]) == True:
data.replace(data[col][each], statistics.mean(data[col]))
data
数据集:
我有一系列的股票回报,大概可以有5000条数据。我想把它们分为5类。每个类别的数据数量几乎相同。
例如,将以下数据分为3类:
test = pd.DataFrame({'Returns': [0.003,0.005,0.02,0.01,0.1,0.9,-0.2,-0.13,-0.14,-0.03,0,0.001]})
它在使用时会产生以下结果:
test.value_counts()
Category: number of data
0 3
1 3
2 3
数据的
我有一个数据框架,其中包括返回,大小和轿车的几个日期。
我的目标是为每个日期确定某个条件的顶部和底部值,即我希望每个日期的上十进制最大大小条目和下十进制最小大小条目,并在新列中用'xx‘和'yy’标记它们。
我很困惑如何在分组的同时应用这个贴图,以及创建一个新的专栏,这是我已经拥有的。
import pandas as pd
import numpy as np
import datetime as dt
from random import choice
from string import ascii_uppercase
def create_dummy_data(st
我正在努力制作一个DataFrame预处理管道,使用sklearn并链接各种类型的预处理步骤。
我想链接一个SimpleImputer转换器和一个应用pd.qcut (或pd.cut)的FunctionTransformer,但是我一直收到以下错误:
ValueError:输入数组必须是一维的
这是我的密码:
from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from s
我正在尝试做以下事情。我在数据帧中有一些具有错误值(x<=0或x>=1100)的数据。我正在尝试将这些值更改为可接受范围内的值。 就目前而言,这是我在代码方面所做的 def while_non_nan(A, k):
init = k
if k+1 >= len(A)-1:
return A.iloc[k-1]
while np.isnan(A[k+1]):
k += 1
#Calculate the value.
n = k-init+1
value = (n*A.iloc[init-1] +