BJE*_*EBN 69 python group-by pandas
在pandas中有一个简单的方法来调用groupby一系列的值增量吗?例如,给定下面的示例,我可以B使用0.155增量对列进行bin和group ,以便例如列B中的前几个组被分成两个范围之间的范围.groupby
import numpy as np
import pandas as pd
df=pd.DataFrame({'A':np.random.random(20),'B':np.random.random(20)})
A B
0 0.383493 0.250785
1 0.572949 0.139555
2 0.652391 0.401983
3 0.214145 0.696935
4 0.848551 0.516692
Run Code Online (Sandbox Code Playgroud)
或者,我可以先按这些增量将数据分类到新列中,然后用于A确定可能适用于列的任何相关统计数据groupby?
DSM*_*DSM 108
您可能对以下内容感兴趣pd.cut:
>>> df.groupby(pd.cut(df["B"], np.arange(0, 1.0+0.155, 0.155))).sum()
A B
B
(0, 0.155] 2.775458 0.246394
(0.155, 0.31] 1.123989 0.471618
(0.31, 0.465] 2.051814 1.882763
(0.465, 0.62] 2.277960 1.528492
(0.62, 0.775] 1.577419 2.810723
(0.775, 0.93] 0.535100 1.694955
(0.93, 1.085] NaN NaN
[7 rows x 2 columns]
Run Code Online (Sandbox Code Playgroud)
Alv*_*tes 10
试试这个:
df = df.sort('B')
bins = np.arange(0,1.0,0.155)
ind = np.digitize(df['B'],bins)
print df.groupby(ind).head()
Run Code Online (Sandbox Code Playgroud)
当然,您不仅可以在组上使用任何功能head.
| 归档时间: |
|
| 查看次数: |
48251 次 |
| 最近记录: |