我有一个包含两列的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对象分成不规则区间的最简单方法是什么?或者我只是错过了一些明显的东西?
我正在尝试按索引划分数据框中的所有列。(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)
并且还重新索引并使用该列进行划分并得到相同的错误。
如果有人可以指出我的错误,将不胜感激。