我希望在多个列中应用bin。
a = [1, 2, 9, 1, 5, 3]
b = [9, 8, 7, 8, 9, 1]
c = [a, b]
print(pd.cut(c, 3, labels=False))
效果很好并创造:
[[0 0 2 0 1 0]
[2 2 2 2 2 0]]
但是,我想应用'cut'来创建一个带数字的数据框,然后将其分类如下。
Values bin
0 1 0
1 2 0
2 9 2
3 1 0
4 5 1
5 3 0
Values bin
0 9 2
1 8 2
2 7 2
3 8 2
4 9 2
5 1 0
这是我想要做的一个简单的例子。实际上,我有63个独立的数据帧和一个& b是来自每个数据帧的列的示例。
答案 0 :(得分:5)
将zip
与list comp一起使用以构建数据帧列表 -
c = [a, b]
r = pd.cut(c, 3, labels=False)
df_list = [pd.DataFrame({'Values' : v, 'Labels' : l}) for v, l in zip(c, r)]
df_list
[ Labels Values
0 0 1
1 0 2
2 2 9
3 0 1
4 1 5
5 0 3, Labels Values
0 2 9
1 2 8
2 2 7
3 2 8
4 2 9
5 0 1]