मेरे पास मूल्यों के साथ एक सूची है:

['A','B','C']

तो मेरे पास एक डीएफ है जिसमें उन इंडेक्स में सूची मान शामिल हैं:

      valuess
A       3
Ai      4
Aii     5 
Aiii    4
B       2
Bi      3
Bii
Biii

मैं सरणी में दिखाई देने वाले मानों के नीचे अगले 3 मानों से बना एक डीएफ प्राप्त करना चाहता हूं, क्योंकि पहला मामला होगा:

     valuess
A       3
Ai      4
Aii     5 
Aiii    4

और dfs को एक सूची में समूहित करें।

1
JamesHudson81 21 अगस्त 2019, 11:38

1 उत्तर

सबसे बढ़िया उत्तर

उपयोग:

L = ['A','B','C']
df = df.groupby(np.cumsum(df.index.isin(L))).head(4)
print (df)
      valuess
A         3.0
Ai        4.0
Aii       5.0
Aiii      4.0
B         2.0
Bi        3.0
Bii       NaN
Biii      NaN

यदि संभव हो तो सूचकांक का पहला मान सूची से मूल्य से मेल नहीं खाता:

L = ['A','B','C']
arr = np.cumsum(df.index.isin(L))
df = df[arr != 0].groupby(arr[arr != 0]).head(4)
1
jezrael 21 अगस्त 2019, 11:40