Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在数据框中表示特定列的四分位?_Python_Python 3.x_Pandas_Dataframe_Range - Fatal编程技术网

Python 如何在数据框中表示特定列的四分位?

Python 如何在数据框中表示特定列的四分位?,python,python-3.x,pandas,dataframe,range,Python,Python 3.x,Pandas,Dataframe,Range,我正在用python编写一个数据帧。 我如何在特定的四分位数(例如q1、q2、q3、q4)内指示具有特定列“rate”值的所有行?这里,区间是“速率”的范围,所以[-0,0.913056]是整个范围。我想指出每行中“rate”的值将落入范围的哪个分位数 name rate 0 3POWER ENERGY GROUP INC -0.000000 1 808 RENEWABLE ENERGY CORP -0.112192 2

我正在用python编写一个数据帧。 我如何在特定的四分位数(例如q1、q2、q3、q4)内指示具有特定列“rate”值的所有行?这里,区间是“速率”的范围,所以[-0,0.913056]是整个范围。我想指出每行中“rate”的值将落入范围的哪个分位数

        name                    rate
0   3POWER ENERGY GROUP INC     -0.000000
1   808 RENEWABLE ENERGY CORP   -0.112192
2   YORK WATER CO                0.774955
3   ZTO EXPRESS (CAYM) INC -ADR  0.086352
4   AEP GENERATING CO            0.850960
5   AEP TEXAS CENTRAL CO         0.600301
6   AIR T INC                    0.254511
7   ALABAMA GAS CORP             0.611631
8   ALABAMA POWER CO             0.913056
9   ALLEGIANT TRAVEL CO          0.227421
10  COMCAST CORP                 0.012037
11  HAWAIIAN ELECTRIC CO         0.670980
12  HAWAIIAN ELECTRIC INDS       0.775778
我喜欢这样

    name                         rate       quartile
0   3POWER ENERGY GROUP INC     -0.000000    q1
1   808 RENEWABLE ENERGY CORP   -0.112192    q1
2   YORK WATER CO                0.774955    q3
3   ZTO EXPRESS (CAYM) INC -ADR  0.086352    q1
4   AEP GENERATING CO            0.850960    q4
5   AEP TEXAS CENTRAL CO         0.600301    q3
6   AIR T INC                    0.254511    q2
7   ALABAMA GAS CORP             0.611631    q3
8   ALABAMA POWER CO             0.913056    q4
9   ALLEGIANT TRAVEL CO          0.227421    q2
10  COMCAST CORP                 0.012037    q1
11  HAWAIIAN ELECTRIC CO         0.670980    q4
12  HAWAIIAN ELECTRIC INDS       0.775778    q4
你需要:

df['quartile'] = pd.qcut(df['rate'], 4, ['q1','q2','q3','q4'])
print (df)
                           name      rate quartile
0       3POWER ENERGY GROUP INC -0.000000       q1
1     808 RENEWABLE ENERGY CORP -0.112192       q1
2                 YORK WATER CO  0.774955       q3
3   ZTO EXPRESS (CAYM) INC -ADR  0.086352       q1
4             AEP GENERATING CO  0.850960       q4
5          AEP TEXAS CENTRAL CO  0.600301       q2
6                     AIR T INC  0.254511       q2
7              ALABAMA GAS CORP  0.611631       q3
8              ALABAMA POWER CO  0.913056       q4
9           ALLEGIANT TRAVEL CO  0.227421       q2
10                 COMCAST CORP  0.012037       q1
11         HAWAIIAN ELECTRIC CO  0.670980       q3
12       HAWAIIAN ELECTRIC INDS  0.775778       q4