小编cmf*_*f05的帖子

Python/Pandas Binning Data Timedelta

我有一个包含两列的DataFrame

    userID     duration
0   DSm7ysk    03:08:49
1   no51CdJ    00:35:50
2   ...
Run Code Online (Sandbox Code Playgroud)

'duration'具有timedelta类型.我试过用

bins = [dt.timedelta(minutes = 0), dt.timedelta(minutes = 
        5),dt.timedelta(minutes = 10),dt.timedelta(minutes = 
        20),dt.timedelta(minutes = 30), dt.timedelta(hours = 4)]

labels = ['0-5min','5-10min','10-20min','20-30min','30min+']

df['bins'] = pd.cut(df['duration'], bins, labels = labels)
Run Code Online (Sandbox Code Playgroud)

但是,分箱数据不使用指定的分箱,而是在帧中的每个持续时间内创建.

将timedelta对象分成不规则区间的最简单方法是什么?或者我只是错过了一些明显的东西?

python datetime timedelta binning pandas

6
推荐指数
1
解决办法
504
查看次数

Pandas 按索引值划分数据帧

我正在尝试按索引划分数据框中的所有列。(1221 行,1000 列)

           5000058004097  5000058022936  5000058036940  5000058036827  \

91.0        3.667246e+10   3.731947e+12   2.792220e+14   2.691262e+13   
94.0        9.869027e+10   1.004314e+13   7.514220e+14   7.242529e+13   
96.0        2.536914e+11   2.581673e+13   1.931592e+15   1.861752e+14
...
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的代码...

A = SHIGH.divide(SHIGH.index, axis =1) 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

ValueError: operands could not be broadcast together with shapes (1221,1000) (1221,) 
Run Code Online (Sandbox Code Playgroud)

我也试过

A = SHIGH.divide(SHIGH.index.values.tolist(), axis =1)
Run Code Online (Sandbox Code Playgroud)

并且还重新索引并使用该列进行划分并得到相同的错误。

如果有人可以指出我的错误,将不胜感激。

python indexing dataframe pandas

5
推荐指数
1
解决办法
4023
查看次数

标签 统计

pandas ×2

python ×2

binning ×1

dataframe ×1

datetime ×1

indexing ×1

timedelta ×1