我试图手动计算列值的分位数,但与Pandas的结果输出相比,无法使用公式手动找到正确的分位数值。我四处寻找不同的解决方案,但没有找到正确的答案。
In [54]: df
Out[54]:
data1 data2 key1 key2
0 -0.204708 1.393406 a one
1 0.478943 0.092908 a two
2 1.965781 1.246435 a one
In [55]: grouped = df.groupby('key1')
In [56]: grou
我有一个dfAB
import pandas as pd
import random
A = [ random.randint(0,100) for i in range(10) ]
B = [ random.randint(0,100) for i in range(10) ]
dfAB = pd.DataFrame({ 'A': A, 'B': B })
dfAB
我们可以使用分位数函数,因为我想知道列的第75百分位数:
dfAB.quantile(0.75)
但是现在我把一些NaNs放在dfAB中并重新做这个函数,很明显它的不同之处是:
dfAB.lo
我有99个人的年收入数据:
import pandas, random
incomes = pandas.DataFrame({'income':[round(random.triangular(20,80,200),0) for i in range(99)]})
如何:
将他们分成3个分位数,“贫穷”、“中等”、“富有”,每个分位数为的平均收入。
抱歉,听起来像个新手的问题。我在学习。谢谢!
我有一些数据和下面提供的信息,
df.info() is below,
<class 'pandas.core.frame.DataFrame'>
Int64Index: 6662 entries, 0 to 6661
Data columns (total 2 columns):
value 6662 non-null float64
country 6478 non-null object
dtypes: float64(1), object(1)
memory usage: 156.1+ KB
None
list of the col
如中所述,quantileTiming函数接受返回浮点类型编号的表达式。
当我将一个浮点型字段传递给函数时,我得到了一个错误:
查询:
SELECT quantileTiming(0.5)(number / 2) FROM numbers(10)
Received exception from server:
StatusCode 500 Response Code: 43, e.displayText() = DB::Exception: Argument for function quantileTiming must be integer, but it has type Float64