2017-07-14 120 views
1

我想將數據集拆分爲兩種類型的數據點。目前我有一個這種格式的熊貓數據框。在字符串屬性索引上拆分熊貓數據框

CS1001 True value1 
CM1001 False value2 
CS1002 True value3 

現在我想此分成S和A M數據幀這樣的:

S架構:

C1001 True value1 
C1002 True value3 

由M幀:

C1001 False value2 

現在我碰到兩個問題,我似乎無法將這4個字符組合在一起。

data.groupby(data.index[:4]) 

然後我無法編輯索引值來刪除S/M。我之前沒有使用熊貓,所以我覺得我正在監督一個明顯的解決方案,但我無法弄清楚。

+0

可以請你分享你嘗試過的代碼,你得到了什麼問題? –

回答

1

IIUC:

In [15]: data 
Out[15]: 
      1  2 
CS1001 True value1 
CM1001 False value2 
CS1002 True value3 

In [16]: data.groupby(data.index.str[:2]).groups 
Out[16]: 
{'CM': Index(['CM1001'], dtype='object'), 
'CS': Index(['CS1001', 'CS1002'], dtype='object')} 

刪除第二個字母從指數值:

In [5]: df.index = df.index.str[:1] + df.index.str[2:] 

In [6]: df 
Out[6]: 
      1  2 
C1001 True value1 
C1001 False value2 
C1002 True value3 
+0

工作起來很有意義,你必須要求一個帶.str的字符串。非常感謝你的幫助。你會碰巧知道如何編輯索引值來刪除S/M嗎? – FlorianEn

+0

@FlorianEn,不客氣。你想如何轉換它:'CS1001'到'C1001'還是'1001'? – MaxU

+0

CS1001到C1001 – FlorianEn