2017-07-14 14 views
1

私は、データセットを2種類のデータポイントに分割しようとしています。現在、私はこのフォーマットのパンダデータフレームを持っています。パンダのデータフレームを文字列プロパティで分割するインデックス

CS1001 True value1 
CM1001 False value2 
CS1002 True value3 

今私はSと、このような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')} 

インデックス値から2番目の文字を削除する:

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

関連する問題