Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.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_Pandas_Dataframe - Fatal编程技术网

Python 如何将组#分配给数据帧中的一组行?

Python 如何将组#分配给数据帧中的一组行?,python,pandas,dataframe,Python,Pandas,Dataframe,数据帧有一个时间列,其int值从零开始。我想将数据帧分成100组(例如),其中步骤为ts=df['time'].max()/100。一种简单的方法是测试'time'列的每个值,如果它大于t并且小于t+ts,其中t是一个np.linspace向量,从0开始,到df['time'].max()结束 以下是我的数据框的外观: df.head() 0 1 2 3 time 0 1 1 1 1130165891 59559371 1 2 1 1 1

数据帧有一个时间列,其int值从零开始。我想将数据帧分成100组(例如),其中步骤为
ts=df['time'].max()/100
。一种简单的方法是测试'time'列的每个值,如果它大于
t
并且
小于
t+ts
,其中
t
是一个
np.linspace
向量,从
0
开始,到
df['time'].max()结束

以下是我的数据框的外观:

df.head()
   0  1  2           3      time
0  1  1  1  1130165891  59559371
1  2  1  1  1158784502  88177982
2  2  1  1  1158838664  88232144
3  2  1  1  1158838931  88232411
4  2  1  1  1158839132  88232612

您可以使用
pd.cut
生成组:

df.groupby(pd.cut(df['time'], 2)).mean()
Out: 
                            0  1  2           3      time
time                                                     
(59530697.759, 73895991.5]  1  1  1  1130165891  59559371
(73895991.5, 88232612]      2  1  1  1158825307  88218787
因为数据集非常小,所以它只有2个组,并且从最小值开始。您可以更改组的数量。除了传递组的数量,还可以传递断点(使用我们的而不是np.linspace)


我在两个例子中都取了平均值,以向您展示它是如何工作的。您可以对groupby对象使用不同的方法。

您可以使用
pd.cut
生成组:

df.groupby(pd.cut(df['time'], 2)).mean()
Out: 
                            0  1  2           3      time
time                                                     
(59530697.759, 73895991.5]  1  1  1  1130165891  59559371
(73895991.5, 88232612]      2  1  1  1158825307  88218787
因为数据集非常小,所以它只有2个组,并且从最小值开始。您可以更改组的数量。除了传递组的数量,还可以传递断点(使用我们的而不是np.linspace)


我在两个例子中都取了平均值,以向您展示它是如何工作的。您可以在groupby对象上使用不同的方法。

!适合我,优雅!对我有用。