की n लगातार उदाहरणों के आधार DF मैं एक dataframe काट करने के लिए पंक्तियों को वापस चाहते हैं जहां तत्व एक्स = 0 प्रकट होता है लगातार कम से कमn = 3 बार, और फिर पहली छोड़ने मैं = प्रत्येक मिनी अनुक्रम में 2 उदाहरणटुकड़ा पांडा तत्व
क्या पांडा में प्राप्त करने का एक प्रभावी तरीका है, और यदि नहीं, तो numpy या scipy का उपयोग कर?
import pandas as pd
import numpy as np
उदाहरण 1
df=pd.DataFrame({'A':[0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1],'B':np.random.randn(17)})
A B
0 0 0.748958
1 1 0.254730
2 0 0.629609
3 0 0.272738
4 1 -1.885906
5 1 1.206371
6 0 -0.332471
7 0 0.217553
8 0 0.768986
9 0 -1.607236
10 1 1.613650
11 1 -1.096892
12 0 -0.435762
13 0 0.131284
14 0 -0.177188
15 1 1.393890
16 1 0.174803
वांछित उत्पादन:
A B
8 0 0.768986
9 0 -1.607236
14 0 -0.177188
उदाहरण 2
x = 0 (ब्याज के तत्व)
,210एन = 5 (अनुक्रम का न्यूनतम लंबाई)
मैं = 2 (प्रत्येक अनुक्रम में ड्रॉप पहले दो)
df2=pd.DataFrame({'A':[0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0],'B':np.random.randn(20)})
A B
0 0 0.703803
1 0 -0.144088
2 0 0.635577
3 0 -0.834611
4 0 1.472271
5 0 -0.554860
6 0 -0.167016
7 1 0.578847
8 1 -1.873663
9 0 0.197062
10 0 1.458845
11 0 -1.921660
12 0 -1.301481
13 0 0.240197
14 0 -1.425058
15 1 -2.801151
16 0 0.766757
17 0 1.249806
18 0 0.595366
19 0 -1.447632
वांछित उत्पादन:
A B
2 0 0.635577
3 0 -0.834611
4 0 1.472271
5 0 -0.554860
6 0 -0.167016
11 0 -1.921660
12 0 -1.301481
13 0 0.240197
14 0 -1.425058
आप समझा सकते हैं कि वह क्या करता? – hellpanderrr
@hellpanderrr उस पर संक्षिप्त स्पष्टीकरण जोड़ा गया, इसे जांचें! – Divakar
@ दिवाकर धन्यवाद, क्या आप स्पष्ट कर सकते हैं क्यों संरचना = np.ones ((n,)) संरचना = np.ones (n) के बजाय? – themachinist