2016-07-27 105 views
2

我有數據幀,它看起來像:如何使用熊貓字符串的索引將列拆分爲多個列?

df = pd.DataFrame({"a":["sea001", "seac002"]}) 
print(df) 

     a 
0 sea001 
1 seac002 

我想將一列分爲兩列,列「B」的前三個字母,其餘列「C」

  a b  c 
0 sea001 sea 001 
1 seac002 sea c002 

我想使用df.a.str.split(),但沒有選項可以將索引之後的單詞分開。我怎樣才能巧妙地做到這一點?

回答

2

您可以使用str與切片語義做到這一點:

In [102]: 
df['b'], df['c'] = df['a'].str[:3], df['a'].str[3:] 
df 

Out[102]: 
     a b  c 
0 sea001 sea 001 
1 seac002 sea c002 
1

嘗試.str.extract()方法:

In [104]: df[['b','c']] = df.a.str.extract(r'(.{3})(.*)', expand=True) 

In [105]: df 
Out[105]: 
     a b  c 
0 sea001 sea 001 
1 seac002 sea c002