1
我有一个pandas.DataFrame它看起来像这样:分配一组数据帧大熊猫数据的一组状态(间隔)
mean std
0 0.123933 0.012185
1 0.119992 0.023833
2 0.119150 0.005884
4 0.107363 0.014191
8 0.123733 0.017090
12 0.155717 0.021808
18 0.337767 0.029997
24 0.742300 0.094091
30 1.087750 0.175827
36 1.517833 0.196728
42 1.181283 0.179431
48 1.936333 0.102685
我想给每一行分配给其由限定的状态间隔。即
'''
Produce 11 numbers for 10 intervals between 0 and 2.
i.e. first interval is between intervals[0] and intervals[1]
'''
intervals= numpy.linspace(0,2,11)
>>>list(intervals)
[0.0,
0.20000000000000001,
0.40000000000000002,
0.60000000000000009,
0.80000000000000004,
1.0,
1.2000000000000002,
1.4000000000000001,
1.6000000000000001,
1.8,
2.0]
这些状态有标签,所以在index=0
数据帧将属于所述第一状态(S1)分机
什么是在Python中实现这个最好的方法?我目前正在查看numpy.histogram
,但这会给出每个垃圾箱的频率,而不是垃圾箱名称。
所需的输出会是这样的:
mean std state
0 0.123933 0.012185 s1
1 0.119992 0.023833 s1
2 0.119150 0.005884 s1
4 0.107363 0.014191 s1
8 0.123733 0.017090 s1
12 0.155717 0.021808 s2
18 0.337767 0.029997 s2
24 0.742300 0.094091 s4
30 1.087750 0.175827 ...
36 1.517833 0.196728
42 1.181283 0.179431
48 1.936333 0.102685
你是如何确定的状态?你只是看着平均值栏,看看它在哪个区间?如果是这样,我不明白你的例子?平均值是'0.158350',应该是's1'? – root
嗨根。感谢您指出了这一点。它是一个错误。你的权利,它的意思是哪个区间。 – CiaranWelsh