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