我創建了以下名為的熊貓資料框df:
import pandas as pd
import numpy as np
ds = {'degreeCentraloty':[1,2,3,4,5,6,7,8,9,10], 'col2' :['Email','Email','Email','Email','Email','Email','Other','Other','Other','Other']}
df = pd.DataFrame(data=ds)
資料框如下所示:
print(df)
degreeCentraloty col2
0 1 Email
1 2 Email
2 3 Email
3 4 Email
4 5 Email
5 6 Email
6 7 Other
7 8 Other
8 9 Other
9 10 Other
然后,我通過僅選擇=df的行來獲取資料框的子集:col2"Email"
data = df.loc[df['col2'] == 'Email']
degreeCentraloty col2
0 1 Email
1 2 Email
2 3 Email
3 4 Email
4 5 Email
5 6 Email
然后我像這樣對名為 degreeCentraloty 的欄位進行分類:
data['dg_binned'] = pd.qcut(data['degreeCentraloty'], q = 2)
print(data)
degreeCentraloty col2 dg_binned
0 1 Email (0.999, 3.5]
1 2 Email (0.999, 3.5]
2 3 Email (0.999, 3.5]
3 4 Email (3.5, 6.0]
4 5 Email (3.5, 6.0]
5 6 Email (3.5, 6.0]
我需要將欄位 dg_binned 轉換為可以用作 binner 的串列。所以從這里:
dg_binned
(0.999, 3.5]
(0.999, 3.5]
(0.999, 3.5]
(3.5, 6.0]
(3.5, 6.0]
(3.5, 6.0]
我需要得到這個:
[3.5,6]
有人知道大熊貓怎么做嗎?
uj5u.com熱心網友回復:
IIUC 用途:
i = pd.IntervalIndex(data['dg_binned'])
print(i)
IntervalIndex([(0.999, 3.5], (0.999, 3.5], (0.999, 3.5],(3.5, 6.0], (3.5, 6.0], (3.5, 6.0]],
closed='right',
name='dg_binned',
dtype='interval[float64]')
L = list(map(list, zip(i.left, i.right)))
print(L)
[[0.999, 3.5], [0.999, 3.5], [0.999, 3.5], [3.5, 6.0], [3.5, 6.0], [3.5, 6.0]]
或者:
L = [[i.left, i.right] for i in data['dg_binned']]
print(L)
[[0.999, 3.5], [0.999, 3.5], [0.999, 3.5], [3.5, 6.0], [3.5, 6.0], [3.5, 6.0]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505431.html
